P15498 [ICPC 2025 APC] Corrupted File
题目描述
WannaLaugh 恶意软件是一种正在互联网上传播的新型计算机恶意软件。如果一台计算机感染了此恶意软件,那么该恶意软件将损坏计算机中的所有文件。计算机中的文件包含零个或多个比特。恶意软件通过执行零次或多次操作来损坏文件。在一次操作中,恶意软件随机选取两个连续的比特,并将它们替换为一个比特。如果被替换的两个比特都是 $1$,则新比特为 $1$,否则为 $0$。例如,恶意软件可能如下所示损坏比特串为 $11011011$ 的文件:
1. 恶意软件选取第一和第二个比特:$11011011 \rightarrow 1011011$。
2. 恶意软件选取第二和第三个比特:$1011011 \rightarrow 101011$。
3. 恶意软件选取第三和第四个比特:$101011 \rightarrow 10011$。
或者,恶意软件可能先选取第三和第四个比特:$11011011 \rightarrow 1101011$。
一天开始时,你有一个包含 $n$ 个比特的文件,记为 $B$。你花了一天时间上网,包括查看你最喜欢的编程竞赛网站,就像许多 ICPC 参赛者会做的那样。一天结束时,同一个文件包含 $m$ 个比特,记为 $C$。你想确定这个文件是否可能是被 WannaLaugh 恶意软件损坏的,还是必定因其他原因发生了变化。
输入格式
输入的第一行包含一个整数 $t$($1\le t\le 10\,000$),表示测试用例的数量。之后是 $t$ 个测试用例,每个测试用例的格式如下。
每个测试用例的第一行包含两个整数 $n$ 和 $m$($1\le m\le n\le 100\,000$)。第二行包含一个长度为 $n$ 的字符串,每个字符为 $0$ 或 $1$,表示比特串 $B$。第三行包含一个长度为 $m$ 的字符串,每个字符为 $0$ 或 $1$,表示比特串 $C$。
单个输入文件中所有测试用例的 $n$ 之和不超过 $100\,000$。
输出格式
对于每个测试用例,如果比特串 $B$ 可能被 WannaLaugh 恶意软件损坏成比特串 $C$,则输出 **yes**,否则输出 **no**。
说明/提示
**样例输入/输出 #1 的解释**
第一个测试用例对应于题目描述中的示例。
对于第二个测试用例,恶意软件可能执行了零次操作。
对于第三个测试用例,恶意软件不可能将比特串 $101$ 损坏成 $00$。
翻译由 DeepSeek 完成