Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
16 kB
0
Indexable
Never
*** De ***
Path finding puzzles
Write a program to read in and solve path-finding puzzles. Each puzzle consists of an NxN array of integers, like this:

7	4	4	6	6	3	2	2	6	8
3	3	6	5	4	3	7	2	8	3
4	1	6	6	2	4	4	4	7	4
4	5	3	4	3	5	4	4	8	5
5	1	4	6	6	5	0	7	1	4	
2	6	9	4	9	7	7	9	1	4
3	5	4	0	6	4	5	5	5	6	
6	6	2	3	4	7	1	2	3	3
3	5	4	3	6	5	4	5	2	6
3	9	3	5	1	1	5	4	6	6


The problem is as follows: Starting in the upper left-hand corner (location [0][0]), find a sequence of moves that takes you to the bottom right-hand corner (for an NxN array, this would be location [N-1][N-1]). From each location in the array you may move left, right, up, or down; the number in the location tells you exactly how far to move.

For example, location [0][0] contains a 7, so from there you must move exactly 7 squares, either to the right or down. You cannot move up or left, because that would take you outside the array.

To help you see the solution, the squares along the solution path have been colored orange. From 7 you move right to 2, down to 4, down to 5, up to 5, etc. The complete solution is 
     [(0, 0), (0, 7), (2, 7), (6, 7), (1, 7), (1, 5), (1, 2),
      (7, 2), (7, 4), (7, 8), (4, 8), (5, 8), (5, 9), (9, 9)].
(Also, in the example, there are several squares from which you cannot move at all! Can you find them?)

  

Input

The first line contains t, the number of test cases followed by a blank space. Each of the t tests start with a number n (n <= 20). Then n + 1 lines follow. In the ith line a number A[i - 1] is given. The (n + 1)th line is a blank space.

 

Output

 

If you can reach the destination, print 'YES', otherwise print 'NO'.

Sample

Input 

2

8 1 8 6 1 2 5 3 7 9

6 0 3 1 3 8 7 0 4 6

7 4 6 2 2 4 3 9 8 3

7 1 4 0 4 2 3 1 6 6

1 9 4 6 2 4 2 2 3 4

9 5 4 2 5 0 4 8 3 3

3 0 4 3 7 7 5 4 4 4

5 6 8 9 3 7 1 2 9 0

4 0 3 1 0 5 0 5 6 6

9 7 6 5 5 5 3 9 2 2

10

6 4 4 4 1 8 1 5 2 9

0 5 7 2 8 8 0 3 3 5

9 7 8 0 7 2 3 9 5 6

6 6 2 4 6 4 1 3 2 1

4 4 2 0 5 9 7 7 3 3

9 2 7 2 9 1 7 6 0 9

6 3 5 0 8 2 4 2 0 7

5 3 1 5 4 9 3 0 6 7

0 4 2 6 9 8 1 3 6 3

3 2 3 0 0 3 8 1 8 5

 

Output

YES

YES

*** input ***
21
10
8 1 8 6 1 2 5 3 7 9 
6 0 3 1 3 8 7 0 4 6 
7 4 6 2 2 4 3 9 8 3 
7 1 4 0 4 2 3 1 6 6 
1 9 4 6 2 4 2 2 3 4 
9 5 4 2 5 0 4 8 3 3 
3 0 4 3 7 7 5 4 4 4 
5 6 8 9 3 7 1 2 9 0 
4 0 3 1 0 5 0 5 6 6 
9 7 6 5 5 5 3 9 2 2 
10
6 4 4 4 1 8 1 5 2 9 
0 5 7 2 8 8 0 3 3 5 
9 7 8 0 7 2 3 9 5 6 
6 6 2 4 6 4 1 3 2 1 
4 4 2 0 5 9 7 7 3 3 
9 2 7 2 9 1 7 6 0 9 
6 3 5 0 8 2 4 2 0 7 
5 3 1 5 4 9 3 0 6 7 
0 4 2 6 9 8 1 3 6 3 
3 2 3 0 0 3 8 1 8 5 
10
3 5 2 3 3 3 4 8 9 2 
8 6 7 6 4 4 8 0 4 2 
3 5 9 8 4 0 3 3 2 9 
1 9 2 9 7 9 7 2 2 8 
5 1 2 0 5 0 2 8 2 6 
0 9 0 4 8 6 3 9 6 0 
8 2 5 3 9 4 1 7 4 1 
3 9 7 1 1 6 2 4 2 3 
1 6 7 0 8 0 6 9 3 4 
9 7 1 7 4 8 3 2 4 4 
10
7 4 4 5 0 6 0 5 0 6 
5 9 7 6 1 1 8 9 4 3 
5 7 0 4 9 2 0 0 1 3 
4 8 5 6 0 8 9 0 8 0 
8 6 9 4 7 6 1 7 8 8 
0 9 2 0 3 6 5 3 8 3 
5 7 9 7 8 8 2 2 4 9 
9 9 5 5 3 5 7 0 4 3 
6 3 4 3 6 1 6 6 0 3 
5 4 7 8 4 4 6 9 5 9 
10
6 7 7 7 8 2 8 5 4 8 
1 7 3 5 2 7 8 7 8 5 
9 4 0 7 2 5 0 8 1 2 
0 0 9 6 6 2 1 7 8 2 
3 5 2 7 3 6 1 0 0 0 
6 0 8 0 9 3 5 5 0 8 
9 8 8 6 7 0 3 6 1 8 
4 6 5 5 9 3 6 1 2 2 
3 6 1 3 0 4 7 1 0 5 
4 8 1 6 1 5 6 2 2 6 
10
2 9 1 2 2 6 7 5 2 2 
7 1 3 1 7 7 5 2 2 3 
9 4 6 0 2 0 4 0 5 9 
2 6 4 9 4 3 6 4 9 3 
1 8 5 4 3 5 1 7 3 8 
3 9 8 7 2 7 3 4 6 0 
5 3 6 2 4 0 8 0 2 8 
4 5 2 8 6 1 4 6 9 0 
7 8 0 5 1 7 4 3 8 6 
4 9 3 5 3 0 2 8 0 9 
10
1 2 5 5 0 8 5 4 5 6 
7 6 7 1 1 5 1 2 7 6 
8 4 9 5 1 6 3 8 5 5 
7 5 8 4 3 4 7 1 0 0 
2 6 6 2 7 1 2 1 4 9 
6 0 7 4 1 6 8 5 9 5 
9 8 1 5 1 9 9 6 2 9 
3 4 0 9 2 9 6 0 6 3 
5 7 9 5 0 3 2 7 5 5 
8 9 4 8 0 9 1 4 3 3 
10
3 9 8 6 7 5 6 9 0 9 
9 8 3 5 2 4 6 8 9 0 
5 9 0 5 0 2 5 0 3 1 
6 4 0 3 3 8 8 8 7 6 
4 4 0 9 5 2 6 6 6 5 
4 2 2 3 2 0 4 9 4 3 
7 4 2 3 4 0 8 0 6 8 
3 6 1 4 7 1 8 8 7 1 
5 3 9 2 3 7 5 0 4 9 
0 1 1 0 1 5 6 5 7 6 
10
1 6 2 9 4 0 8 2 2 1 
8 4 9 7 5 7 3 9 1 4 
9 8 0 7 5 7 3 5 3 8 
9 7 4 0 5 1 3 1 1 6 
2 3 5 1 4 4 3 6 8 5 
2 4 9 1 2 6 8 5 3 1 
1 4 3 2 0 1 9 1 4 3 
9 8 7 1 7 7 2 5 2 6 
9 8 7 4 1 3 2 6 6 8 
9 8 3 7 7 4 0 0 1 6 
10
4 7 4 7 9 0 8 9 5 1 
7 3 3 8 7 8 2 0 1 1 
9 4 3 1 2 9 0 9 7 7 
1 9 6 5 7 5 4 3 2 2 
4 5 6 0 7 5 8 2 5 7 
4 1 8 1 4 3 1 6 2 8 
5 3 7 5 2 3 8 2 7 8 
5 0 2 0 7 6 3 7 8 5 
4 8 2 6 0 4 3 5 1 4 
3 1 2 3 3 6 6 6 1 5 
10
3 5 0 0 7 7 3 1 7 6 
0 2 2 6 1 9 9 5 3 0 
0 4 3 4 3 6 9 7 3 5 
3 0 7 7 9 1 4 6 7 8 
4 0 1 4 7 6 6 7 1 0 
1 6 1 0 6 6 2 4 9 1 
5 3 9 3 7 7 5 4 6 0 
1 2 6 0 4 1 2 7 6 6 
0 8 8 4 2 0 9 9 0 7 
9 5 1 3 4 8 5 3 5 4 
20
7 9 1 17 6 8 18 19 12 18 5 19 15 6 9 3 13 9 14 11 
18 19 10 18 11 12 3 5 14 4 14 11 17 6 6 8 6 17 7 18 
19 16 11 13 11 4 14 17 6 1 14 4 15 3 14 11 17 1 6 18 
8 17 5 13 14 11 9 15 0 6 1 15 5 9 6 2 12 13 19 9 
4 8 3 7 19 5 4 19 0 19 1 7 10 11 13 8 14 1 19 12 
16 3 5 13 10 13 9 17 13 15 0 15 9 0 7 14 6 17 4 17 
10 1 3 4 12 1 6 3 17 1 14 13 19 13 3 16 8 14 6 4 
8 0 11 3 12 0 1 0 9 1 15 12 3 0 8 9 11 10 12 3 
17 15 3 6 18 0 2 2 12 9 10 10 11 11 7 1 5 5 2 6 
14 12 15 13 15 6 10 2 12 2 10 3 6 17 2 1 18 8 14 0 
13 5 17 11 5 11 14 17 17 12 17 19 12 0 1 10 6 6 7 11 
8 1 8 9 2 12 18 8 3 7 8 19 12 1 17 18 10 1 13 4 
11 17 7 3 14 8 17 19 14 17 6 2 7 7 9 9 3 17 9 16 
4 12 15 16 13 18 13 19 6 15 6 14 5 1 1 1 7 16 13 10 
11 2 8 13 9 14 5 18 17 8 18 13 8 3 6 14 7 9 10 16 
0 2 9 3 8 14 8 19 13 4 3 17 2 2 1 13 1 16 3 4 
8 6 18 5 3 6 19 11 7 1 14 10 16 14 19 18 17 12 12 14 
8 8 16 4 6 14 18 7 6 6 8 1 2 2 18 15 3 8 17 17 
18 1 9 6 6 19 2 6 9 17 6 15 5 5 7 11 7 4 12 9 
12 6 6 15 3 5 8 12 9 6 7 12 9 5 18 4 14 8 14 2 
20
4 15 4 3 18 4 15 12 8 14 15 11 1 7 9 15 8 6 14 11 
5 16 16 8 15 19 1 18 4 0 16 11 13 0 9 16 10 10 3 6 
15 7 19 3 4 13 8 14 18 4 11 6 1 17 15 13 2 6 13 9 
11 16 19 13 11 14 10 8 10 8 6 1 7 8 2 5 5 10 12 17 
3 19 14 2 9 17 5 15 17 9 0 5 2 6 11 7 2 14 7 19 
1 3 0 9 17 6 13 18 13 10 6 6 9 11 10 16 4 3 16 16 
8 19 19 13 12 5 17 12 11 3 16 5 6 17 9 17 5 13 19 8 
2 14 3 7 13 16 9 1 9 0 15 6 3 11 6 4 10 3 19 13 
6 7 2 2 14 7 2 6 6 18 1 11 12 13 4 15 0 17 7 6 
4 5 6 11 2 10 9 11 9 17 14 9 18 15 3 1 2 0 15 8 
8 1 5 9 3 19 2 15 10 12 5 12 19 3 0 6 5 18 7 6 
8 10 15 17 6 6 16 10 3 8 16 4 4 3 1 4 9 13 8 15 
9 3 7 1 18 8 18 13 15 15 12 9 1 18 12 0 6 19 5 3 
3 8 1 19 8 3 7 0 19 12 13 18 13 5 0 16 5 9 13 1 
14 14 19 5 2 7 18 16 14 3 0 2 11 4 1 14 2 4 18 19 
2 9 11 19 18 18 4 12 5 18 12 8 8 2 11 2 4 11 9 10 
11 12 12 13 9 3 8 2 3 3 18 13 13 17 19 12 7 12 6 18 
3 15 17 13 1 13 17 18 18 1 3 1 17 8 0 16 12 15 16 6 
10 9 7 1 2 7 3 3 14 17 16 16 14 14 17 13 1 16 16 3 
12 17 4 16 13 8 18 15 9 14 10 10 14 8 17 13 5 15 17 6 
20
7 0 13 8 0 8 10 14 12 6 14 2 1 10 3 8 1 2 3 11 
13 18 0 6 19 4 11 13 3 14 9 14 7 16 3 18 18 10 3 7 
11 19 10 3 7 5 4 5 5 19 5 1 10 12 14 7 9 9 9 17 
11 18 16 7 17 11 6 13 19 17 11 10 4 4 12 0 0 2 1 14 
4 19 8 6 10 16 2 1 14 1 18 16 16 11 10 16 0 4 15 14 
15 5 12 14 12 14 13 13 5 15 10 2 18 17 12 18 12 1 13 1 
19 18 7 11 0 9 9 17 5 8 18 15 12 18 3 9 18 2 19 3 
12 0 14 19 0 0 14 12 5 3 15 1 0 16 17 1 9 13 16 7 
2 6 10 2 5 6 8 5 14 8 3 15 13 15 11 18 11 3 11 6 
13 8 15 2 14 2 10 1 3 4 13 17 12 3 16 7 15 3 8 14 
4 16 14 13 19 11 17 12 8 4 5 8 19 18 18 16 13 0 7 3 
12 6 7 15 16 18 17 7 17 11 8 3 6 16 2 4 5 15 5 9 
17 0 10 6 2 7 15 11 15 17 10 17 13 12 4 14 15 10 1 13 
9 2 17 17 0 5 11 4 17 19 1 14 12 6 10 6 13 18 0 13 
13 12 16 14 15 17 18 3 12 10 2 5 2 13 15 16 1 5 10 15 
6 10 17 12 13 7 7 13 10 1 5 16 14 18 6 4 18 5 7 13 
14 0 19 0 16 10 1 0 2 16 14 0 5 17 8 14 18 12 1 0 
5 17 17 2 16 14 0 0 8 11 19 18 6 13 7 17 10 14 15 11 
18 2 1 3 0 2 4 4 10 14 13 0 5 9 10 17 6 13 4 5 
1 19 4 1 8 10 10 8 17 2 19 0 6 8 6 18 4 7 12 14 
20
17 0 10 2 5 5 5 10 14 12 10 1 2 17 15 11 13 19 14 10 
18 10 12 2 6 0 6 7 10 3 11 19 3 10 7 13 17 12 1 4 
9 12 3 1 17 12 14 16 13 11 17 16 3 15 8 9 3 4 19 9 
17 17 18 15 15 12 0 8 4 7 3 2 7 15 3 14 16 11 10 13 
8 15 9 14 9 16 5 15 17 14 17 3 15 13 2 2 2 18 6 0 
6 6 12 19 18 8 12 18 16 15 2 14 16 3 8 11 15 7 8 10 
13 10 2 2 18 11 19 18 15 5 9 15 5 1 6 14 14 13 4 14 
13 15 9 15 4 3 4 17 1 15 10 6 3 12 18 3 0 11 10 0 
6 4 17 7 9 6 15 7 10 9 5 10 16 3 14 17 2 9 7 5 
15 1 15 6 16 17 17 9 12 1 2 1 19 10 12 4 15 17 15 12 
16 0 2 17 1 17 11 5 5 11 16 0 14 1 0 4 12 15 3 9 
11 6 1 7 9 17 10 7 14 7 6 12 7 2 12 9 19 10 2 4 
17 10 15 17 19 18 17 7 18 3 19 6 5 10 13 5 18 12 9 0 
14 7 18 14 2 12 4 9 12 15 8 6 12 17 8 8 3 16 3 6 
15 18 18 13 5 6 17 3 6 16 19 18 1 18 19 4 9 7 7 18 
14 9 16 3 12 6 4 8 5 9 10 19 7 6 13 15 16 8 15 8 
17 7 14 9 11 11 14 1 1 17 0 14 3 7 14 19 12 18 19 17 
13 2 11 11 0 8 15 8 4 11 10 15 7 15 11 4 1 5 4 8 
11 13 4 11 4 6 13 4 14 0 14 6 6 3 6 15 5 14 13 13 
13 8 8 4 3 0 16 5 1 3 2 17 0 10 5 6 2 19 1 19 
20
0 11 10 17 3 1 14 13 13 5 11 13 6 3 1 17 0 16 7 17 
17 14 5 8 3 4 19 7 14 17 0 14 5 3 19 18 14 4 9 19 
15 14 12 12 16 15 11 10 16 0 4 0 14 12 3 11 19 10 4 4 
1 15 1 8 10 11 17 3 0 10 19 18 15 11 8 2 2 5 9 5 
13 14 13 19 3 18 13 2 14 8 11 15 16 19 2 17 7 19 3 2 
8 3 6 19 1 7 10 16 0 19 13 12 11 12 4 14 7 3 12 9 
3 8 5 7 9 17 17 7 2 15 16 10 2 6 18 10 18 4 3 17 
5 5 5 17 14 0 2 3 19 4 0 13 12 0 6 6 12 3 0 14 
18 6 15 13 14 5 18 12 6 12 19 4 10 3 13 17 7 3 8 7 
9 10 0 1 18 8 4 16 17 9 18 15 12 6 11 0 0 11 1 8 
18 2 12 10 5 18 13 8 6 16 6 16 7 1 18 14 17 12 18 12 
15 7 0 1 9 0 19 3 5 8 4 10 18 3 19 13 7 4 18 6 
13 10 2 0 2 11 7 18 18 2 18 2 9 19 16 10 14 15 10 12 
4 1 13 3 12 19 1 4 2 19 16 5 10 16 5 14 19 0 12 3 
0 17 11 19 12 13 2 0 3 2 10 11 17 3 10 1 8 2 6 2 
12 1 2 0 13 7 13 13 5 16 1 19 1 19 10 7 18 4 14 13 
3 11 3 14 13 9 2 17 16 10 13 0 17 17 18 3 3 12 6 15 
3 0 2 9 10 4 1 18 6 6 16 5 4 15 12 13 2 7 3 13 
11 5 12 19 12 5 3 14 10 3 6 15 10 18 10 10 15 10 18 4 
9 9 14 0 6 18 7 5 1 15 12 1 7 2 6 15 8 3 17 14 
20
10 0 11 12 18 16 1 13 19 1 6 11 4 12 4 10 8 13 2 12 
9 11 16 5 19 12 18 13 13 4 13 17 18 18 10 10 14 10 1 1 
14 18 4 10 7 18 0 0 1 11 2 15 11 13 19 8 2 13 12 18 
3 5 10 11 11 10 19 12 11 6 18 13 12 1 8 16 6 12 6 19 
19 9 19 0 8 2 16 12 3 19 18 15 10 10 1 6 3 5 4 16 
6 16 2 18 12 16 14 11 15 1 8 2 3 2 7 0 5 2 3 17 
16 14 14 0 10 15 6 16 11 19 6 16 3 10 9 7 17 18 12 4 
7 7 3 1 16 3 6 16 7 11 4 19 6 16 2 3 6 6 9 15 
12 14 4 8 9 1 10 0 10 7 19 12 15 2 2 5 18 7 11 2 
9 19 2 13 10 10 3 16 6 0 19 8 7 19 18 1 11 15 7 4 
12 7 14 17 6 4 7 19 9 15 9 10 8 5 14 15 16 14 11 15 
6 12 2 7 11 2 5 15 18 13 0 6 13 11 4 19 14 13 10 12 
4 3 18 18 13 5 13 17 2 15 19 14 5 0 17 0 12 3 14 13 
4 1 5 4 6 16 14 6 9 3 19 19 18 10 5 1 18 10 19 6 
5 13 12 10 6 18 7 4 19 1 0 6 14 8 8 13 9 1 4 19 
13 17 10 16 7 16 16 15 5 4 11 1 7 7 4 10 11 6 10 13 
10 15 17 12 11 12 15 1 7 2 13 10 15 2 11 1 17 3 9 15 
2 12 3 12 7 2 4 18 18 10 5 11 5 15 0 14 5 1 5 15 
5 0 15 10 17 1 5 5 1 14 13 10 12 2 14 14 11 14 9 13 
10 8 10 1 9 18 5 0 18 5 3 11 2 19 6 4 6 13 11 7 
20
19 13 5 9 18 10 4 2 6 16 5 11 2 2 3 3 5 14 2 1 
18 4 19 8 1 14 16 2 2 13 5 3 18 8 1 14 16 17 4 10 
9 10 0 12 5 5 17 1 4 0 6 12 7 1 13 18 17 12 15 8 
19 13 8 2 13 4 14 9 11 12 7 0 8 14 9 5 2 8 2 10 
6 7 5 4 14 17 8 9 15 14 14 19 13 13 2 13 14 14 6 13 
15 2 13 12 14 1 12 16 4 3 11 12 13 6 2 3 10 19 9 16 
17 1 16 16 14 12 5 10 14 3 13 5 7 7 15 11 12 3 4 8 
13 16 7 7 3 4 11 7 1 7 2 16 7 7 7 11 2 17 6 12 
16 14 9 8 19 3 1 6 0 2 12 19 5 17 10 11 12 16 12 4 
5 6 4 0 6 13 1 10 3 19 17 11 17 2 17 5 16 19 14 1 
7 14 3 3 14 18 15 18 10 14 17 2 13 7 9 14 18 16 4 14 
9 16 5 10 2 19 2 0 6 6 8 14 13 9 14 11 5 5 10 8 
2 6 1 12 1 10 15 9 2 9 7 12 1 13 3 9 12 0 15 3 
7 14 5 10 18 10 2 0 3 10 5 3 13 19 5 5 9 18 19 13 
9 4 1 18 19 8 5 17 15 10 16 19 15 15 17 8 8 9 18 8 
0 18 12 15 5 10 0 19 16 14 12 14 6 6 9 13 17 16 19 11 
14 13 5 4 8 7 13 11 19 10 15 8 12 11 18 18 1 14 9 8 
16 14 4 7 19 8 9 11 11 8 5 14 10 6 17 12 1 7 5 8 
2 6 9 5 1 16 0 0 16 1 8 3 18 2 16 16 19 14 0 17 
1 16 1 8 9 16 14 6 17 14 3 16 6 3 5 13 17 14 2 13 
20
8 5 14 8 8 13 4 9 13 14 4 13 5 11 5 15 2 2 9 13 
16 0 16 6 17 12 8 18 4 1 3 5 6 2 4 3 18 13 16 14 
16 12 9 15 6 15 6 13 10 2 10 14 2 8 7 16 15 16 18 0 
16 10 16 14 17 0 3 1 15 18 4 4 8 15 1 3 11 13 11 11 
12 1 6 16 2 2 16 8 3 15 1 8 15 15 9 4 9 15 4 16 
14 4 10 5 9 18 14 16 7 10 18 13 8 7 13 6 12 12 4 17 
9 19 2 17 7 7 15 14 9 18 12 11 16 19 13 19 9 17 8 15 
3 13 17 15 5 15 17 8 19 9 14 16 3 14 14 9 9 19 14 4 
9 7 12 14 14 8 11 3 13 6 11 16 11 17 9 13 0 0 9 0 
9 14 12 11 19 14 18 15 11 16 16 2 11 12 7 8 8 6 7 4 
19 1 6 19 19 14 3 4 10 7 14 2 11 9 7 18 11 1 7 15 
10 2 8 10 8 19 17 15 17 10 9 7 19 13 14 19 6 3 2 6 
10 7 0 14 10 12 9 3 15 19 0 19 11 1 9 7 9 5 5 0 
15 13 19 18 18 3 0 11 4 14 13 17 16 2 16 14 6 17 10 3 
3 13 6 16 19 2 3 14 3 18 11 12 7 8 9 0 6 6 8 10 
14 5 7 1 13 14 7 16 1 15 10 14 6 13 5 14 5 15 7 5 
16 1 1 17 2 13 11 2 13 6 2 18 11 15 8 13 7 10 9 1 
11 8 15 1 2 15 11 19 3 1 3 0 1 19 17 14 2 9 14 18 
5 7 19 16 11 6 10 2 0 2 1 15 1 6 14 13 3 14 1 3 
10 10 10 2 10 13 11 10 7 15 18 16 1 1 15 8 14 7 3 16 
20
19 4 1 2 8 16 6 8 14 4 17 3 1 1 14 6 15 9 14 6 
14 5 0 19 10 10 16 8 1 8 0 4 12 11 4 4 16 4 3 12 
6 16 0 5 11 1 8 12 0 11 5 7 9 4 19 17 10 16 19 12 
9 14 7 0 12 16 16 18 6 4 8 18 2 9 4 6 14 5 0 1 
2 6 6 5 0 8 7 6 17 17 3 4 2 6 11 13 18 19 15 9 
18 3 10 12 4 0 15 9 0 4 3 4 2 3 9 15 2 3 13 5 
14 0 17 9 4 19 2 9 18 18 1 16 15 14 9 9 9 2 16 8 
11 15 4 9 1 4 11 2 7 7 0 17 0 10 11 13 11 17 5 12 
13 19 0 16 8 17 1 3 3 13 16 13 15 12 16 15 11 18 2 8 
8 11 9 1 1 19 1 1 2 16 16 3 2 4 8 5 11 1 0 4 
8 10 11 16 3 12 12 13 2 11 1 14 3 10 11 2 12 14 13 8 
17 6 12 4 10 15 2 14 11 13 1 1 15 12 10 12 19 2 11 10 
4 11 4 8 7 12 18 2 6 0 4 17 0 6 5 1 14 9 10 11 
0 6 7 9 14 18 9 9 10 17 18 13 16 4 1 4 7 7 4 9 
11 11 1 5 12 11 0 19 13 13 19 11 17 14 8 5 19 18 6 16 
10 4 15 0 1 17 13 8 8 6 9 2 10 19 14 1 8 10 15 17 
18 5 14 3 7 4 18 15 6 10 1 3 17 15 8 11 7 6 13 17 
15 7 19 18 4 11 8 18 14 19 1 14 12 13 18 14 11 4 13 18 
5 0 8 19 3 9 7 12 16 7 18 10 16 18 1 0 19 1 13 1 
17 3 9 7 2 14 0 0 4 18 1 2 14 12 17 4 2 12 13 15 
20 
10 6 18 4 2 10 18 16 2 8 13 9 4 8 3 8 3 8 8 0 
7 3 16 3 0 5 15 0 6 13 15 5 8 8 5 11 0 10 2 19 
14 1 1 9 3 13 14 4 18 2 16 19 6 10 18 4 7 7 19 18 
15 16 14 11 9 11 13 14 18 7 6 10 9 1 13 19 9 6 2 17 
11 5 3 0 0 3 5 0 11 10 18 12 13 19 9 13 13 0 18 15 
19 6 9 7 10 2 2 3 10 2 12 13 5 2 4 2 1 12 1 4 
13 2 19 18 15 15 2 14 11 13 19 16 8 16 15 7 10 16 17 1 
10 9 6 17 2 2 4 13 15 6 17 4 14 12 19 18 18 17 3 5 
1 3 17 10 17 7 5 13 15 12 17 4 3 11 5 12 16 11 3 15 
18 9 9 2 16 11 10 0 15 18 14 5 18 6 1 14 4 6 9 15 
13 8 15 8 17 18 17 12 4 1 3 13 15 11 10 13 7 15 7 4 
5 11 18 13 19 12 12 2 4 9 5 15 18 3 11 16 8 15 1 1 
12 6 8 13 9 18 8 14 11 0 7 13 13 9 0 12 17 4 3 6 
8 16 0 18 13 3 10 10 16 16 0 11 13 19 15 3 17 2 16 9 
13 6 10 5 9 5 5 16 0 18 12 18 0 17 3 11 4 2 2 3 
5 19 4 3 11 12 7 7 1 19 4 2 8 10 14 1 9 14 15 15 
1 17 16 9 10 17 17 11 14 11 8 7 15 15 15 17 9 5 4 5 
4 4 13 4 14 5 0 13 9 16 8 0 18 9 17 1 18 11 14 15 
6 4 6 13 2 6 16 10 8 2 1 3 9 17 12 17 19 3 4 15 
15 0 4 3 2 19 17 7 6 16 16 14 7 17 3 15 6 10 11 2


*** output ***
YES
YES
YES
NO
YES
NO
NO
YES
YES
YES
NO
YES
YES
YES
NO
NO
YES
YES
NO
YES
NO


*** my code ***
#include<iostream>
#define Max_N 22
using namespace std;
int N;
int visit[Max_N][Max_N];
int map[Max_N][Max_N];

void reset(){
	for (int i = 0; i < N; i++){
		for (int j = 0; j < N; j++){
			visit[i][j] = 0;
		}
	}	
}

int const max_queue = 1000000;
int qx[max_queue];
int qy[max_queue];
int front = -1;
int rear = -1;
bool isEmpty(){
	return front == -1;
}
void push(int x, int y){
	if (front == -1) front = 0;
	rear++;
	qx[rear] = x;
	qy[rear] = y;
}
void pop(){
	if (front >= rear) front = rear = -1;
	else front++;
}

int dx[] = {0,0,1,-1};
int dy[] = {1,-1,0,0};
int bfs(int x, int y){
	reset();
	front = rear = -1;
	push(x,y);
	visit[x][y] = 1;
	while(!isEmpty()){
		int x1 = qx[front];
		int y1 = qy[front];
		pop();
		int value = map[x1][y1];
		for (int i = 0; i < 4; i++){
			int x2 = x1 + value*dx[i];
			int y2 = y1 + value*dy[i];
			if (x2<0 || x2>=N || y2<0 || y2>=N || visit[x2][y2]==1) continue;
			else {
				push(x2,y2);
				visit[x2][y2] = 1;
				if (x2==N-1 && y2==N-1) return 1;
			}
		}
	}
	return 0;
}

int main(){
	freopen("input.txt", "r", stdin);
	int TC; cin >> TC;
	for (int tc = 1; tc <= TC; tc++){
		cin >> N;
		for (int i = 0; i < N; i++){
			for (int j = 0; j < N; j++){
				cin >> map[i][j];
			}
		}

		int x = bfs(0,0);

		if (x==1) cout << "YES" << endl;
		else cout << "NO" << endl;
	}
	return 0;
}