# Untitled

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;
}```