B - Pair Guessing Editorial /

Time Limit: 2 sec / Memory Limit: 2048 MB

配点 : 1000

問題文

N 個の、長さ N01 文字列 S_1,\ldots,S_N が与えられます。S_ij 文字目を S_{i,j} と表します。ここで、S_{i,j}=\ 1 を満たす整数組 (i,j) が少なくとも一つ存在することが制約より保証されています。

高橋君と青木君が以下のようなゲームを行います。

  1. 高橋君が 1 \leq i,j \leq N, S_{i,j}=\ 1 を満たす整数組 (i,j)1 つ選ぶ。
  2. 0 回以上 N 回以下、青木君が高橋君に質問を行う。各質問では青木君が 1\leq i',j' \leq N を満たす整数組 (i',j') を選び、「i=i'j=j' のうち少なくとも一方が成り立つ」の真偽を高橋君から教えてもらう。
  3. 青木君が (i,j) を予想する。予想が当たっていれば青木君の勝ち、そうでなければ負けとなる。

青木君は高橋君が選ぶ (i,j) の候補、すなわち S_1,\ldots,S_N を知った状態でゲームを行います。また、上記2では以前の質問に対する返事を聞いたうえで (i', j') を選ぶことができます。

青木君が適切な戦略を取った場合、高橋君の (i,j) の選び方や運によらず必ずゲームに勝てるかどうかを判定してください。

1 つの入力につきテストケースは T 個あります。

制約

  • 1 \leq T \leq 2 \times 10^5
  • 1 \leq N \leq 500
  • 1 つの入力の中のテストケースすべてにわたる N^2 の総和は 500^2 以下である
  • S_i は長さ N01 文字列
  • S_{i,j}=\ 1 を満たす整数組 (i,j) が少なくとも一つ存在する

入力

入力は以下の形式で標準入力から与えられる。

T
case_1
\vdots
case_T

各テストケースは以下の形式で与えられる。

N
S_1
\vdots
S_N

出力

各テストケースに対し、青木君が必ずゲームに勝てるならば Yes と、そうでなければ No と出力せよ。


入力例 1

3
2
01
11
2
11
11
10
0101011110
1100100001
1101100000
0111101010
1000011001
1110101010
1110110100
1110000110
0000001011
1001111100

出力例 1

Yes
No
Yes

1 番目のテストケースに対するゲームの一例を以下に示します。

  1. 高橋君が S_{i,j}=\ 1 を満たす (i,j) として (2,2) を選ぶ。
  2. 青木君が 2 回質問を行う。1 回目の質問では (i',j')=(1,1) として、高橋君から「i=1j=1 のうち少なくとも一方が成り立つ」が偽であると教えてもらう。2 回目の質問では (i',j')=(2,2) として、高橋君から「i=2j=2 の少なくとも一方が成り立つ」が真であると教えてもらう。
  3. 青木君が (i,j)=(2,2) と予想する。この予想は当たっているため、青木君の勝ちである。

これはあくまでゲームの一例であり、青木君の戦略が適切とは限りません。しかし、青木君が適切な戦略を取った場合には必ず青木君がゲームに勝つため、1 番目のテストケースに対する出力は Yes になります。

Score : 1000 points

Problem Statement

You are given N strings S_1, \ldots, S_N, each of length N, consisting only of 0 and 1. Let S_{i,j} denote the j-th character of S_i. It is guaranteed by the constraints that there exists at least one integer pair (i, j) satisfying S_{i,j} = 1.

Takahashi and Aoki play the following game:

  1. Takahashi chooses one integer pair (i, j) satisfying 1 \leq i, j \leq N and S_{i,j} = 1.
  2. Aoki asks Takahashi at least 0 and at most N questions. In each question, Aoki chooses an integer pair (i', j') satisfying 1 \leq i', j' \leq N, and Takahashi tells Aoki whether "At least one of i = i' or j = j' holds" is true or false.
  3. Aoki guesses (i, j). If his guess is correct, Aoki wins; otherwise, he loses.

Aoki knows the possible choices of (i, j) that Takahashi can choose, that is, he knows S_1, \ldots, S_N before playing the game. Also, in step 2, Aoki can choose (i', j') based on the answers to previous questions.

Determine whether Aoki can always win the game regardless of Takahashi's choice of (i, j) and randomness, if he uses an appropriate strategy.

There are T test cases in each input.

Constraints

  • 1 \leq T \leq 2 \times 10^5
  • 1 \leq N \leq 500
  • The sum of N^2 over all test cases in each input is at most 500^2.
  • S_i is a string of length N consisting of 0 and 1.
  • There is at least one integer pair (i, j) satisfying S_{i,j} = 1.

Input

The input is given from Standard Input in the following format:

T
case_1
\vdots
case_T

Each test case is given in the following format:

N
S_1
\vdots
S_N

Output

For each test case, print Yes if Aoki can always win the game, and No otherwise.


Sample Input 1

3
2
01
11
2
11
11
10
0101011110
1100100001
1101100000
0111101010
1000011001
1110101010
1110110100
1110000110
0000001011
1001111100

Sample Output 1

Yes
No
Yes

In the first test case, an example of the game is as follows:

  1. Takahashi chooses (i, j) = (2, 2) satisfying S_{i,j}=\ 1.
  2. Aoki asks two questions. In the first question, he chooses (i', j') = (1, 1). Takahashi tells him that "At least one of i = 1 or j = 1 holds" is false. In the second question, he chooses (i', j') = (2, 2). Takahashi tells him that "At least one of i = 2 or j = 2 holds" is true.
  3. Aoki guesses (i, j) = (2, 2). Since his guess is correct, Aoki wins.

This is just an example of the game, and Aoki's strategy might not be optimal. However, if Aoki uses an appropriate strategy, he can always win the game, so the output for the first test case is Yes.