#P15498. [ICPC 2025 APC] Corrupted File

[ICPC 2025 APC] Corrupted File

题目描述

WannaLaugh 恶意软件是一种正在互联网上传播的新型计算机恶意软件。如果一台计算机感染了此恶意软件,那么该恶意软件将损坏计算机中的所有文件。计算机中的文件包含零个或多个比特。恶意软件通过执行零次或多次操作来损坏文件。在一次操作中,恶意软件随机选取两个连续的比特,并将它们替换为一个比特。如果被替换的两个比特都是 11,则新比特为 11,否则为 00。例如,恶意软件可能如下所示损坏比特串为 1101101111011011 的文件:

  1. 恶意软件选取第一和第二个比特:11011011→101101111011011 \rightarrow 1011011。
  2. 恶意软件选取第二和第三个比特:1011011→1010111011011 \rightarrow 101011。
  3. 恶意软件选取第三和第四个比特:101011→10011101011 \rightarrow 10011。

或者,恶意软件可能先选取第三和第四个比特:11011011→110101111011011 \rightarrow 1101011。

一天开始时,你有一个包含 nn 个比特的文件,记为 BB。你花了一天时间上网,包括查看你最喜欢的编程竞赛网站,就像许多 ICPC 参赛者会做的那样。一天结束时,同一个文件包含 mm 个比特,记为 CC。你想确定这个文件是否可能是被 WannaLaugh 恶意软件损坏的,还是必定因其他原因发生了变化。

输入格式

输入的第一行包含一个整数 tt(1≤t≤10 0001\le t\le 10\,000),表示测试用例的数量。之后是 tt 个测试用例,每个测试用例的格式如下。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤m≤n≤100 0001\le m\le n\le 100\,000)。第二行包含一个长度为 nn 的字符串,每个字符为 00 或 11,表示比特串 BB。第三行包含一个长度为 mm 的字符串,每个字符为 00 或 11,表示比特串 CC。

单个输入文件中所有测试用例的 nn 之和不超过 100 000100\,000。

输出格式

对于每个测试用例,如果比特串 BB 可能被 WannaLaugh 恶意软件损坏成比特串 CC,则输出 yes,否则输出 no。

3
8 5
11011011
10011
3 3
101
101
3 2
101
00

yes
yes
no

提示

样例输入/输出 #1 的解释

第一个测试用例对应于题目描述中的示例。

对于第二个测试用例,恶意软件可能执行了零次操作。

对于第三个测试用例,恶意软件不可能将比特串 101101 损坏成 0000。

翻译由 DeepSeek 完成