CF1890B.Qingshan Loves Strings

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Qingshan Loves Strings

题目描述

青山有一个字符串 ss,而 Daniel 有一个字符串 tt。两个字符串都只包含 0\texttt{0}1\texttt{1}

一个长度为 kk 的字符串 aa 是“好”的,当且仅当:

  • 对于所有 i=1,2,,k1i=1,2,\ldots,k-1,都有 aiai+1a_i \ne a_{i+1}

例如,1\texttt{1}101\texttt{101}0101\texttt{0101} 是“好”的,而 11\texttt{11}1001\texttt{1001}001100\texttt{001100} 不是“好”的。

青山想让 ss 变成“好”的。为此,她可以进行如下操作任意次(也可以不做):

  • ss 的任意位置插入 tt(得到一个新的 ss)。

请你告诉青山,是否有可能通过若干次操作使 ss 变成“好”的。

输入格式

输入包含多组测试数据。第一行包含一个整数 TT1T20001\le T\le 2000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnmm1n,m501 \le n,m \le 50),分别表示字符串 sstt 的长度。

第二行包含一个长度为 nn 的字符串 ss

第三行包含一个长度为 mm 的字符串 tt

保证 sstt 只包含 0\texttt{0}1\texttt{1}

输出格式

对于每个测试用例,如果有可能将 ss 变成“好”的,输出 "YES"(不带引号);否则输出 "NO"(不带引号)。

输出字母大小写均可。

说明/提示

在第一个测试用例中,ss 本身就是“好”的,因此可以不进行任何操作。

在第二个测试用例中,你可以进行如下两次操作(插入的字符串 tt 用下划线表示):

  1. 101011\texttt{1}\underline{\texttt{010}}\texttt{11}
  2. 101010101\texttt{10101}\underline{\texttt{010}}\texttt{1}

最终得到 s=101010101s = \texttt{101010101},这是一个“好”的字符串。

在第三个测试用例中,无论进行多少次操作,都无法使 ss 变成“好”的字符串。

由 ChatGPT 4.1 翻译

样例

5
1 1
1
0
3 3
111
010
3 2
111
00
6 7
101100
1010101
10 2
1001001000
10
Yes
Yes
No
No
No

在线编程 IDE

建议全屏模式获得最佳体验