Universal Cup Judging System

Universal Cup

时间限制: 3.0 s 内存限制: 1024 MB 总分: 100
统计

Radewoosh 从父母那里收到了一个新的谜题。这次谜题包含两个循环排列的球序列。每个序列包含 $n$ 个球,每个球要么是白色,要么是黑色。总的来说,两个序列中恰好包含 $n$ 个白球和 $n$ 个黑球。为了描述这个谜题,我们使用字符串 $a$ 和 $b$ —— 字符串 $a$ 的连续字符表示第一个序列中连续球的颜色,字符串 $b$ 的连续字符表示第二个序列中连续球的颜色。两个序列中的位置均从 $1$ 到 $n$ 编号。

该谜题还涉及一个重要的数字 $k$。在一次操作中,Radewoosh 可以从第一个序列中选择一个长度恰好为 $k$ 的循环区间,并从第二个序列中选择一个长度恰好为 $k$ 的循环区间,然后将它们交换。目标是使两个序列都变为单色,即第一个序列中的所有球颜色相同(全黑或全白),第二个序列中的所有球颜色也相同。

请帮助 Radewoosh 在最多 $n$ 次操作内解决这个谜题。可以证明这总是可能的。

输入格式

第一行包含两个整数 $n$ 和 $k$ ($2 \le n \le 300\,000; 1 \le k \le n - 1$),含义如题所述。

下一行包含一个长度恰好为 $n$ 的字符串 $a$。如果第 $i$ 个字符是 ‘B’,则第一个序列中的第 $i$ 个球是白色(波兰语中“白色”为“bialy”)。否则,如果字符是 ‘C’,则该球是黑色(波兰语中“黑色”为“czarny”)。

接下来一行包含一个长度恰好为 $n$ 的字符串 $b$,以类似的方式描述第二个球序列。

总的来说,字符串 $a$ 和 $b$ 中恰好包含 $n$ 个 ‘B’ 和 $n$ 个 ‘C’。

输出格式

第一行应包含一个整数 $r$ ($0 \le r \le n$),表示你想要进行的操作次数。

接下来输出 $r$ 行。每行包含两个整数。第 $i$ 行的数字 $c_i$ 和 $d_i$ ($1 \le c_i, d_i \le n$) 表示你选择了第一个序列中从位置 $c_i$ 开始的循环区间,以及第二个序列中从位置 $d_i$ 开始的循环区间。

如果 $c_i + k - 1 \le n$,则表示第一个序列中的位置 $c_i, c_i + 1, \dots, c_i + k - 2, c_i + k - 1$。如果 $c_i + k - 1 \ge n + 1$,则表示第一个序列中的位置 $c_i, c_i + 1, \dots, n - 1, n, 1, 2, \dots, c_i + k - 2 - n, c_i + k - 1 - n$。$d_i$ 的含义类似。

在执行完你描述的所有操作后,第一个序列中的所有球应具有相同的颜色,第二个序列中的所有球也应具有相同的颜色。注意,你不必最小化操作次数——只需在最多 $n$ 次操作内完成即可。

样例

输入格式 1

6 3
BCCBCC
BBCBBC

输出格式 1

2
1 3
5 1

说明

球的序列初始状态如下(第一个序列画在上方,第二个在下方):

第一次操作选择这两个区间:

然后交换它们:

第二次操作选择这两个区间:

然后交换它们:

注意,将所有黑球移到第一个序列,将所有白球移到第二个序列也是正确的解法。

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.