CF2008B Square or Not
题目描述
漂亮的二进制矩阵是指在四周边缘全为 1 而内部全为 0 的矩阵。
如下图所示为四个漂亮的二进制矩阵的示例。今天,Sakurako 玩了一种大小为 $r \times c$ 的漂亮二进制矩阵,并通过从第一行到第 $r$ 行依次记录每一行的内容,生成了一段二进制字符串 $s$。更具体地,第 $i$ 行第 $j$ 列的元素对应于字符串中的第 $((i-1) \cdot c + j)$ 个字符。
你需要检查,生成字符串 $s$ 的这个漂亮矩阵是否能成为一个方形矩阵。换句话说,你需要判断字符串 $s$ 是否可以由一个边长相等的漂亮二进制矩阵(即 $r = c$)形成。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示字符串的长度。
每个测试用例的第二行给出一个长度为 $n$ 的字符串 $s$。该字符串是由一个漂亮矩阵的行内容依次拼接而成。
保证所有测试用例中字符串长度 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对每个测试用例,如果原始矩阵可以是方形的,输出 "Yes";否则输出 "No"。
## 示例与提示
在第二个测试用例中,字符串 `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 自动生成**
说明/提示
For the second test case, string 1111 can be obtained from the matrix:
$ 1 $ $ 1 $ $ 1 $ $ 1 $ For the third test case, string 111101111 can be obtained from the matrix:
$ 1 $ $ 1 $ $ 1 $ $ 1 $ $ 0 $ $ 1 $ $ 1 $ $ 1 $ $ 1 $ There is no square matrix in the fourth case, such that the string can be obtained from it.