CF2008B.Square or Not

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

Square or Not

题目描述

漂亮的二进制矩阵是指在四周边缘全为 1 而内部全为 0 的矩阵。

如下图所示为四个漂亮的二进制矩阵的示例。今天,Sakurako 玩了一种大小为 r×cr \times c 的漂亮二进制矩阵,并通过从第一行到第 rr 行依次记录每一行的内容,生成了一段二进制字符串 ss。更具体地,第 ii 行第 jj 列的元素对应于字符串中的第 ((i1)c+j)((i-1) \cdot c + j) 个字符。

你需要检查,生成字符串 ss 的这个漂亮矩阵是否能成为一个方形矩阵。换句话说,你需要判断字符串 ss 是否可以由一个边长相等的漂亮二进制矩阵(即 r=cr = c)形成。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn2n21052 \le n \le 2 \cdot 10^5),表示字符串的长度。

每个测试用例的第二行给出一个长度为 nn 的字符串 ss。该字符串是由一个漂亮矩阵的行内容依次拼接而成。

保证所有测试用例中字符串长度 nn 的总和不超过 21052 \cdot 10^5

输出格式

对每个测试用例,如果原始矩阵可以是方形的,输出 "Yes";否则输出 "No"。

示例与提示

在第二个测试用例中,字符串 1111 可以通过以下的矩阵得到:

1111\begin{array}{cccc} 1 & 1 & 1 & 1 \\ \end{array}

在第三个测试用例中,字符串 111101111 可以通过以下的矩阵得到:

$$\begin{array}{ccc} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \\ \end{array}$$

在第四个测试用例中,没有一个方形矩阵能够生成该字符串。

本翻译由 AI 自动生成

样例

5
2
11
4
1111
9
111101111
9
111111111
12
111110011111
No
Yes
Yes
No
No

在线编程 IDE

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