QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100

#9109. Zayin 与硬币游戏

Statistics

Zayin 喜欢收集硬币。Zayin 总共收集了 $n$ 枚不同的硬币。现在他想用这些硬币玩一个游戏。他将所有硬币按顺时针方向排成一个圆圈,并从 $1$ 到 $n$ 进行编号。在每一步中,Zayin 可以选择恰好 $k$ 枚连续的硬币并将它们同时翻转,这意味着这些硬币中正面朝上的会变成背面朝上,背面朝上的会变成正面朝上。

现在他想知道初始状态是否能在有限步数内达到目标状态。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 100$),表示测试用例的数量。

每个测试用例包含 3 行。第一行包含两个整数 $n$ 和 $k$ ($1 \le k \le n \le 10^5$, $\sum n \le 10^6$),其含义如上所述。接下来的两行包含两个字符串 $s$ 和 $t$ ($|s| = |t| = n$),它们仅包含数字 0 和 1。

字符串 $s$ 表示 $n$ 枚硬币的初始状态。如果第 $i$ 枚硬币正面朝上,则 $s$ 的第 $i$ 个字符为 1。如果第 $i$ 枚硬币背面朝上,则 $s$ 的第 $i$ 个字符为 0。字符串 $t$ 以与 $s$ 相同的方式表示 $n$ 枚硬币的目标状态。

输出格式

如果 Zayin 可以通过有限步操作从 $s$ 表示的状态达到 $t$ 表示的状态,输出 “Yes”;否则,输出 “No”(不含引号)。

样例

输入 1

4
3 2
000
100
3 2
000
110
6 3
100100
100101
8 3
00100100
00100101

输出 1

No
Yes
No
Yes

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.