提交程序

分数: 1
时间限制: 2.0s
内存限制: 512M

作者:
题目类型

题目描述

给定一个 01 串 \(s\),字符串长度为 \(n\),给定 \(k\),每次操作可以指定 \(i\),然后将 \(i, (i + k)\bmod n\) 两个位置的值反转(\(x \leftarrow x\oplus 1\)),询问是否能通过若干次操作使得这个串是一个回文串。

多测。

下标从 \(0\) 开始。

备注: \(k\) 不能为 \(0\)。

输入格式

第一行一个正整数 \(T\),表示数据组数。

对于每组数据:

  • 第一行两个正整数 \(n, k\)。保证 \(2 \le \sum n \le 10^6, 1 \le k < n\)。
  • 第二行一个字符串 \(s\)。

输出格式

对于每组数据,输出 YES/NO

样例输入

5
6 1
110001
4 1
1000
4 3
1111
6 4
001011
2 1
11

样例输出

NO
NO
YES
NO
YES

评论

目前没有评论。