#B1469. 数字串

数字串

【题目描述】

给定 n+1n+1 个无限长的 0101 序列,它们的规律如下:

  • 第 11 个序列为 111111...,相邻两个 1 之间间隔 00 个字符;
  • 第 22 个序列为 101010...,相邻两个 1 之间间隔 11 个字符;
  • 第 33 个序列为 100100100...,相邻两个 1 之间间隔 22 个字符;
  • 依此类推,第 n+1n+1 个序列中,相邻两个 1 之间间隔 nn 个字符。

每次询问给定一个长度为 mm 的 0101 字符串 ss。

请判断 ss 是否可能是从上述某一个无限序列中截取出来的连续片段。


【输入描述】

第一行输入整数 tt,表示测试数据组数。

接下来 tt 行,每行输入两个整数 n,mn,m 和一个长度为 mm 的 0101 字符串 ss。

保证:

  • 1≤t≤201\le t\le 20;
  • 1≤n≤1051\le n\le 10^5;
  • 1≤m≤1051\le m\le 10^5;
  • ss 只包含字符 0 和 1。

【输出描述】

输出 tt 行。

对于每组数据,如果 ss 可能是某个序列的连续片段,输出 Yes;

否则输出 No。


【样例 1】

【样例 1 输入】

1
5 5 10010

【样例 1 输出】

Yes

【样例 1 解释】

10010 可以看作相邻两个 1 之间间隔 22 个字符的序列中的一段。


【样例 2】

【样例 2 输入】

1
5 12 000001000010

【样例 2 输出】

No

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 6 30 t=1t=1,n,m≤10n,m\le 10
7 ~ 12 20 t≤20t\le 20,n,m≤1000n,m\le 1000
13 ~ 20 50 t≤20t\le 20,n,m≤105n,m\le 10^5