QOJ.ac

QOJ

时间限制: 8.0 s 内存限制: 1024 MB 总分: 100 难度: [显示] 可 Hack ✓

#18001. 白夜

统计

Little Cyan Fish 手中有一個 $n$ 列 $m$ 行的矩陣 $A$。矩陣中的每個元素可以是青色(Cyan)或白色(White)。我們使用字元 C 代表青色,字元 W 代表白色。為了方便起見,Little Cyan Fish 將矩陣中第 $i$ 列第 $j$ 行($1 \le i \le n, 1 \le j \le m$)的元素記為 $A_{i,j}$。

Little Cyan Fish 可以執行任意次數的以下操作:

  • 選擇一對垂直相鄰或水平相鄰的格子 $A_{i,j}$ 和 $A_{k,l}$。也就是說,滿足 $|i - k| + |j - l| = 1$。
  • 交換 $A_{i,j}$ 和 $A_{k,l}$。

Little Cyan Fish 想要將矩陣 $A$ 轉換為另一個給定的矩陣 $B$。當然,Little Cyan Fish 保證矩陣 $A$ 中青色元素的數量與最終目標矩陣 $B$ 中青色元素的數量相等,因此一定存在一種操作方案可以滿足 Little Cyan Fish 的要求。

你需要幫助 Little Cyan Fish 計算完成其要求所需的最少操作次數。

輸入格式

輸入包含多組測試資料。第一行包含一個整數 $T$ ($1 \le T$),表示測試資料的組數。

對於每組測試資料,第一行包含兩個整數 $n$ 和 $m$ ($1 \le n \le 10^5, 1 \le m \le 6$),分別代表矩陣的列數與行數。

接下來 $n$ 行,每行包含一個長度為 $m$ 的字串(僅包含字元 CW),代表矩陣 $A$ 的每一列。

接下來 $n$ 行,每行包含一個長度為 $m$ 的字串(僅包含字元 CW),代表矩陣 $B$ 的每一列。保證矩陣 $A$ 和矩陣 $B$ 中字元 C 的數量相同(自然地,字元 W 的數量也會相同)。

保證所有測試資料中 $n$ 的總和不超過 $10^5$。

輸出格式

對於每組測試資料,輸出單行一個整數,代表 Little Cyan Fish 將矩陣 $A$ 轉換為矩陣 $B$ 所需的最少操作次數。

範例

範例輸入 1

2
2 2
CW
WC
WC
CW
5 3
WWC
WCW
CWC
CCC
CCC
CCC
CCC
CCC
CWW
WWW

範例輸出 1

2
16

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.