Untitled
unknown
plain_text
2 years ago
28 kB
10
Indexable
//0630_PathFindingPuzzles
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Solution {
static int N, ans;
static int[][] map;
static int[][] vis;
static int[] dx = { 0, 1, 0, -1 };
static int[] dy = { 1, 0, -1, 0 };
static MyQueue myQx = new MyQueue(1000000);
static MyQueue myQy = new MyQueue(1000000);
public static void main(String[] args) {
try {
System.setIn(new FileInputStream("input.txt"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
ans = 0;
N = sc.nextInt();
map = new int[N][N];
vis = new int[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
map[i][j] = sc.nextInt();
}
}
bfs();
// System.out.println("Case #" + tc);
if (vis[N - 1][N - 1] == 0) {
System.out.println("NO");
} else {
System.out.println("YES");
}
}
}
static void bfs() {
myQx.reset();
myQy.reset();
myQx.enQueue(0);
myQy.enQueue(0);
vis[0][0] = 1;
while (!myQx.isEmpty()) {
int x = myQx.deQueue();
int y = myQy.deQueue();
int k = map[x][y];
for (int i = 0; i < 4; i++) {
int r = x + (dx[i] * k);
int c = y + (dy[i] * k);
if (r >= 0 && c >= 0 && r < N && c < N) {
if (r == N - 1 && c == N - 1) {
vis[r][c] = 1;
return;
}
if (vis[r][c] == 0) {
myQx.enQueue(r);
myQy.enQueue(c);
vis[r][c] = 1;
}
}
}
}
}
}
class MyQueue {
private int maxQueue;
private int[] queueArray;
private int front;
private int rear;
public MyQueue(int s) {
maxQueue = s;
queueArray = new int[maxQueue];
front = rear = -1;
}
public boolean isEmpty() {
if (front == rear) {
return true;
}
return false;
}
public boolean isFull() {
if (rear == maxQueue - 1) {
return true;
}
return false;
}
public void reset() {
front = rear = -1;
}
public void enQueue(int inValue) {
queueArray[++rear] = inValue;
}
public int deQueue() {
front++;
return queueArray[front];
}
// nhin phan tu lay ra
public int Qpeek() {
return queueArray[front + 1];
}
}
//tc
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
//Cover rectangle with dominos
You are given 28 different types of domino, each domino has size of 1x2 with 2 numbers on it as follow
And a board of size 7x8, your task is cover the board with above dominos such that a domino can only be placed on two adjacent squares on board if the numbers of the squares and of domino are equal.
How many different way to cover the board?
For example if the board are given as below, there are 18 way to cover it, one of them is as below.
Input
The first line is the number of test case T (T < = 50).
Each test case will be given on 7 lines, each line have 8 numbers separate by a space is the board for the test case. It have a empty line between 2 test cases.
Output
Print each test case on two lines, the first line is "Case #x", where x is the test case number, the next line is the numbers of different way to cover the board.
Sample
Input
2
6 1 6 5 3 2 5 0
6 6 0 1 6 0 4 4
2 2 3 6 5 5 1 5
1 2 0 4 4 3 4 2
5 2 1 1 4 1 3 0
3 3 0 2 3 5 2 6
1 3 4 6 4 5 0 0
6 6 6 0 1 4 6 3
2 5 3 3 3 5 5 4
0 0 4 3 3 1 2 4
4 4 2 0 5 5 3 0
0 1 2 2 6 1 2 1
4 6 2 6 5 6 0 4
5 0 5 1 1 1 2 3
...
Output
Case #1
32
Case #2
24
//tc
50
6 4 6 0 6 3 1 2
6 1 5 3 5 0 4 0
2 4 1 5 0 2 4 4
5 5 1 3 6 5 4 1
0 3 3 4 4 5 5 2
2 3 2 6 1 1 0 1
3 3 0 0 2 2 6 6
3 3 3 2 6 6 4 6
2 1 0 1 5 0 6 1
4 1 4 3 0 4 0 2
0 0 6 0 2 2 0 3
3 1 5 2 2 4 3 5
2 6 5 5 1 5 3 6
5 4 4 4 6 5 1 1
2 3 6 6 2 1 6 4
1 3 2 2 5 4 3 4
5 2 1 0 0 0 0 5
4 4 1 1 5 3 6 3
2 0 4 1 0 3 0 4
2 6 6 1 0 6 2 4
5 5 5 1 6 5 3 3
0 0 1 3 2 6 0 6
1 2 0 1 5 4 2 0
0 4 1 4 4 6 1 6
0 5 3 6 2 3 4 4
5 6 5 5 5 2 0 3
2 2 6 6 2 4 5 1
3 4 1 1 3 3 5 3
5 3 1 6 0 5 3 0
4 2 1 4 4 3 6 2
3 2 2 5 6 5 2 1
2 0 1 0 1 1 3 6
5 5 1 5 6 4 2 2
0 4 4 5 6 6 6 0
0 0 3 3 1 3 4 4
2 0 1 5 0 5 5 4
3 1 2 4 6 4 1 1
1 2 3 6 5 2 3 0
4 1 3 4 0 4 6 1
6 6 3 2 0 6 5 6
1 0 6 2 2 2 0 0
5 3 5 5 4 4 3 3
5 2 0 3 1 4 6 3
5 1 3 2 6 0 0 4
5 3 5 6 6 6 5 4
6 4 4 4 1 0 1 1
3 4 1 3 1 2 2 4
2 2 6 1 2 0 5 0
2 6 5 5 0 0 3 3
5 6 2 5 2 6 4 3
1 3 0 0 6 1 6 0
3 5 5 4 0 2 1 5
0 4 6 6 1 1 0 3
6 4 3 2 0 1 1 2
3 3 4 2 4 1 2 2
0 5 5 5 4 4 3 6
5 5 0 3 4 2 4 1
1 5 2 0 6 5 5 0
6 0 1 1 5 2 6 3
4 6 3 2 2 2 6 6
0 1 3 1 3 4 2 6
0 4 3 3 5 4 1 2
1 6 5 3 0 0 4 4
6 2 5 2 5 5 4 1
5 3 5 0 6 4 2 2
3 6 1 6 1 2 0 2
0 6 3 2 2 4 1 0
4 5 4 3 6 6 5 1
3 0 4 4 5 6 3 1
3 3 0 4 1 1 0 0
4 6 6 0 0 1 6 6
0 0 2 4 0 3 5 6
1 6 2 5 3 2 5 4
4 0 1 4 3 4 2 0
4 4 5 1 5 5 1 1
3 6 0 5 2 1 2 2
2 6 1 3 3 5 3 3
3 1 0 3 1 5 1 1
4 1 5 4 5 2 5 6
6 0 0 2 3 2 4 3
3 6 2 2 0 5 4 2
5 5 1 0 0 4 3 5
6 1 2 6 3 3 6 6
2 1 4 6 0 0 4 4
3 0 0 1 4 5 6 2
6 3 2 0 2 2 1 1
4 6 4 2 2 3 0 0
5 2 1 4 5 0 1 3
5 5 5 3 5 1 4 0
6 0 5 6 4 4 2 1
1 6 4 3 3 3 6 6
2 4 4 5 0 4 0 3
0 0 4 3 2 0 5 6
3 6 3 2 6 6 2 6
3 5 2 5 1 6 0 1
4 4 2 1 0 6 6 4
5 0 5 5 3 1 2 2
4 1 1 5 1 1 3 3
1 5 4 0 0 1 5 4
1 4 2 2 5 3 6 1
4 3 1 1 0 6 3 2
4 4 1 3 0 2 2 4
3 3 4 6 3 6 2 5
5 6 0 0 2 1 6 6
6 2 0 5 3 0 5 5
4 6 5 2 0 2 0 0
5 3 6 1 2 3 6 5
5 1 1 2 2 4 6 3
0 4 1 0 6 6 5 4
1 4 6 0 3 3 6 2
1 3 3 0 5 0 4 3
5 5 1 1 2 2 4 4
3 6 2 4 1 6 3 3
4 0 1 5 2 2 4 1
5 6 0 0 6 4 1 0
1 3 5 3 6 6 2 0
4 3 0 5 0 6 1 1
5 2 2 6 1 2 2 3
5 4 5 5 3 0 4 4
5 6 3 6 6 0 4 0
6 4 1 1 4 3 4 5
3 3 2 0 1 2 2 4
6 2 2 2 5 0 5 2
3 1 2 3 3 5 4 4
5 1 4 1 0 1 6 1
0 3 5 5 0 0 6 6
3 5 2 2 3 0 6 2
0 4 5 1 3 2 3 1
6 0 4 6 0 1 3 3
6 1 0 0 1 1 5 4
4 1 3 6 5 0 3 4
5 6 1 2 0 2 4 4
2 5 5 5 2 4 6 6
2 5 3 1 0 5 0 3
6 3 5 5 6 0 0 1
4 1 3 5 4 4 2 1
4 2 1 6 6 2 4 0
2 2 1 5 3 4 2 0
5 4 6 4 3 2 6 5
1 1 0 0 3 3 6 6
4 6 2 0 5 5 6 0
5 6 5 2 0 0 4 3
3 1 2 1 5 1 4 1
3 5 0 3 2 2 6 3
2 6 4 4 5 0 2 3
2 4 1 1 1 0 6 6
5 4 1 6 4 0 3 3
1 1 0 4 5 1 3 5
1 0 0 5 6 1 0 3
5 2 4 4 4 6 0 2
3 1 3 6 4 5 6 6
6 2 3 2 3 3 2 2
0 0 2 1 4 2 6 0
3 4 5 6 1 4 5 5
6 5 2 0 0 5 5 3
6 2 1 2 1 6 4 0
5 1 5 2 4 3 4 4
1 4 2 2 6 3 4 5
2 4 6 0 3 1 6 6
3 0 6 4 1 1 1 0
3 2 5 5 3 3 0 0
6 2 1 5 0 6 6 4
5 2 0 0 2 0 1 6
4 4 4 5 0 5 0 1
3 6 5 3 2 1 3 0
3 2 2 2 4 2 3 1
5 5 1 1 4 1 5 6
4 0 4 3 6 6 3 3
0 3 1 2 3 5 0 4
5 4 3 2 6 1 1 0
2 6 4 3 4 1 3 3
3 1 5 0 6 6 0 6
4 6 6 3 0 2 1 1
2 2 5 2 0 0 5 6
1 5 4 2 4 4 5 5
1 0 5 4 6 3 2 2
5 1 1 2 4 2 3 2
3 4 0 6 4 6 3 5
2 0 6 6 5 0 2 6
6 5 3 3 2 5 1 6
0 3 4 0 5 5 1 1
1 4 0 0 1 3 4 4
2 0 4 4 1 2 0 0
2 4 2 2 6 0 6 3
5 5 4 0 5 4 3 5
3 3 1 3 1 6 5 2
0 5 2 3 5 6 0 3
6 6 2 6 6 4 1 4
1 0 1 1 1 5 4 3
6 5 4 0 2 4 3 1
5 3 1 5 6 3 3 4
5 4 6 4 3 3 2 5
5 0 3 0 1 2 2 0
4 4 1 0 2 6 3 2
1 6 6 0 1 1 5 5
0 0 4 1 6 6 2 2
1 0 3 3 1 2 1 3
5 5 3 5 5 1 2 4
0 2 3 4 2 5 1 1
3 0 6 4 0 0 4 5
6 5 6 6 6 3 6 1
3 2 6 2 0 5 0 6
0 4 4 4 2 2 4 1
4 0 6 3 6 1 0 3
4 1 2 0 0 6 2 2
5 2 1 5 6 5 5 5
2 3 1 3 6 6 0 5
3 4 2 1 6 4 4 5
6 2 1 0 4 2 5 3
3 3 0 0 4 4 1 1
0 2 4 4 2 1 3 6
3 5 6 6 1 3 4 1
6 5 2 6 3 0 4 0
1 5 2 3 6 1 2 2
5 0 0 1 0 6 4 3
4 2 1 1 2 5 6 4
4 5 0 0 3 3 5 5
2 3 0 4 6 6 2 6
2 1 5 2 1 6 3 0
0 5 0 6 5 6 5 4
2 2 3 3 6 3 4 1
6 4 1 0 0 0 5 5
4 4 1 1 1 5 3 4
3 1 0 2 2 4 5 3
4 0 3 3 2 2 6 5
3 0 4 6 4 3 0 2
4 1 0 5 4 5 5 5
6 6 0 6 3 6 3 1
4 4 0 1 6 2 2 5
3 5 1 2 1 1 2 4
3 2 0 0 5 1 6 1
6 1 2 3 6 0 6 4
4 4 3 0 5 3 1 5
1 2 3 1 6 2 1 1
3 4 5 0 4 0 2 4
6 3 5 6 5 4 0 2
1 0 5 5 5 2 4 1
6 6 3 3 2 2 0 0
2 1 6 1 0 5 5 1
4 0 0 3 4 2 6 3
1 3 2 6 1 4 3 5
1 0 0 0 5 2 4 3
0 6 4 5 2 2 3 2
2 0 6 4 5 6 6 6
4 4 3 3 1 1 5 5
1 0 0 5 1 2 3 1
6 4 2 6 0 4 2 0
3 3 4 2 4 5 3 2
5 6 0 0 5 2 0 3
6 0 3 5 3 6 4 1
2 2 1 6 3 4 6 6
5 5 4 4 1 5 1 1
1 5 3 5 1 6 2 4
4 4 4 3 0 0 0 4
2 1 6 2 4 5 3 6
2 3 0 2 0 5 0 6
6 5 1 4 2 5 3 0
1 1 2 2 1 3 4 6
5 5 0 1 6 6 3 3
0 1 5 5 6 0 2 4
1 5 0 2 4 3 6 5
5 3 4 0 1 3 6 1
6 6 0 5 4 4 4 1
0 3 1 1 2 6 0 0
2 1 4 5 3 3 2 2
3 6 2 3 6 4 2 5
1 4 2 6 1 6 4 6
6 5 3 4 0 3 0 2
5 2 2 4 0 0 6 3
5 0 4 4 1 1 6 0
4 5 5 1 3 1 5 5
3 5 1 0 1 2 2 2
3 2 4 0 3 3 6 6
1 6 0 6 4 0 0 2
1 3 3 3 4 3 1 2
5 5 0 3 3 2 4 5
3 6 5 6 0 5 4 4
1 4 5 1 1 0 0 0
1 1 2 6 4 2 6 6
5 3 2 5 4 6 2 2
3 5 1 4 6 3 2 0
2 3 0 5 1 3 4 0
6 4 2 1 2 4 2 2
1 0 0 0 4 3 5 6
4 4 3 0 1 1 5 1
5 2 5 5 6 2 0 6
3 3 1 6 4 5 6 6
6 0 0 5 6 1 5 2
2 1 3 2 6 6 6 5
4 1 4 0 1 0 5 4
3 4 0 3 4 2 6 4
2 2 2 0 6 3 3 5
3 3 5 1 1 1 2 6
1 3 4 4 5 5 0 0
6 0 3 0 2 4 0 2
1 5 3 3 4 4 5 3
3 6 4 5 3 1 4 6
6 5 2 5 1 0 5 0
2 3 1 1 1 2 1 6
2 2 6 2 1 4 0 0
4 3 5 5 0 4 6 6
0 3 6 5 3 2 5 3
4 2 1 6 6 4 3 4
1 0 1 4 5 4 0 5
0 2 0 6 3 6 2 5
6 6 1 3 2 2 1 5
6 2 4 0 4 4 1 1
3 3 0 0 1 2 5 5
5 0 3 1 4 0 0 1
2 0 2 2 6 1 2 6
0 3 2 1 3 3 4 6
1 5 3 5 3 4 0 6
1 1 4 1 0 0 5 6
2 5 4 2 5 4 6 6
4 4 6 3 5 5 3 2
0 5 6 4 1 0 0 0
2 5 6 2 5 6 3 5
4 3 4 2 3 6 0 4
1 5 1 2 5 5 6 1
1 3 1 1 2 3 3 3
4 4 6 0 4 1 2 2
6 6 2 0 4 5 0 3
5 0 3 2 1 3 3 0
6 5 5 4 3 6 1 4
4 0 1 0 5 1 2 4
0 2 5 5 0 0 5 3
3 4 6 2 4 6 1 2
3 3 6 6 0 6 2 5
4 4 1 1 6 1 2 2
4 1 4 0 5 6 6 4
3 5 0 3 5 1 0 2
6 1 4 5 0 6 3 1
5 5 4 3 3 3 3 2
2 6 5 0 2 1 1 1
0 1 4 4 4 2 5 2
6 6 3 6 2 2 0 0
3 5 4 4 2 1 1 6
1 4 4 0 3 4 4 5
0 6 0 2 5 1 0 5
3 6 2 5 5 5 2 6
3 1 0 1 5 6 0 0
3 2 2 2 0 3 6 4
2 4 6 6 3 3 1 1
2 4 4 5 1 2 6 3
1 0 4 1 4 4 5 5
2 2 6 1 0 0 5 0
4 0 0 3 5 6 2 5
6 4 1 3 1 5 3 3
0 6 5 3 0 2 6 2
3 2 3 4 1 1 6 6
//Prime Ring
Một vòng gồm N phần tử hình tròn. Trong mỗi hình tròn sẽ chứa một số nguyên P và tổng hai số nguyên trong hai hình tròn cạnh nhau trên vòng tròn tạo thành một số nguyên tố. Nhiệm vụ của bạn là với một chuỗi gồm N phần tử số nguyên, đưa ta tổng số cách xếp N phần tử đó vào vòng tròn thỏa mãn yêu cầu trên.
Ví dụ
Ta có đầu vào là một dãy gồm 6 phần tử: 1, 2, 3, 4, 5, 6. Thì đầu ra sẽ có 2 cách xếp là cách 1: 1 - 4 - 3 - 2 - 5 - 6 và cách 2: 1 - 6 - 5 - 2 - 3 - 4
Cách 1: 1 - 4 - 3 - 2 - 5 - 6
Input
Dòng đầu liên là T chính là số testcase (T ≤ 100). Mỗi testcase sẽ bao gồm 2 dòng:
Dòng đầu tiên là N chính là số lượng phần tử các số nguyên. (3 ≤ N ≤ 16)\
Dòng thứ hai là một dãy gồm N số nguyên P ( 1 ≤ P ≤ 50)
Output
Kết quả được in ra trên một dòng theo định sạng sau: “Case number_testcase: answer”
Sample
Input
2
8
1 2 3 4 5 6 7 8
6
1 2 3 4 5 6
Output
Case 1: 4
Case 2: 2
//tc
100
3
1 2 3
4
1 2 3 4
5
1 2 3 4 5
6
1 2 3 4 5 6
7
1 2 3 4 5 6 7
8
1 2 3 4 5 6 7 8
9
1 2 3 4 5 6 7 8 9
10
1 2 3 4 5 6 7 8 9 10
11
1 2 3 4 5 6 7 8 9 10 11
12
1 2 3 4 5 6 7 8 9 10 11 12
13
1 2 3 4 5 6 7 8 9 10 11 12 13
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
16
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
9
3 4 5 6 7 8 9 10 11
6
7 8 9 10 11 12
15
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
15
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
10
8 9 10 11 12 13 14 15 16 17
16
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
10
4 5 6 7 8 9 10 11 12 13
16
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
14
9 10 11 12 13 14 15 16 17 18 19 20 21 22
12
7 8 9 10 11 12 13 14 15 16 17 18
13
6 7 8 9 10 11 12 13 14 15 16 17 18
15
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
8
9 10 11 12 13 14 15 16
9
8 9 10 11 12 13 14 15 16
4
9 10 11 12
4
11 12 13 14
10
5 6 7 8 9 10 11 12 13 14
8
12 13 14 15 16 17 18 19
14
7 8 9 10 11 12 13 14 15 16 17 18 19 20
6
4 5 6 7 8 9
7
6 7 8 9 10 11 12
8
7 8 9 10 11 12 13 14
10
4 5 6 7 8 9 10 11 12 13
4
11 12 13 14
14
7 8 9 10 11 12 13 14 15 16 17 18 19 20
3
10 11 12
6
12 13 14 15 16 17
4
4 5 6 7
8
11 12 13 14 15 16 17 18
13
8 9 10 11 12 13 14 15 16 17 18 19 20
3
5 6 7
11
9 10 11 12 13 14 15 16 17 18 19
13
5 6 7 8 9 10 11 12 13 14 15 16 17
3
11 12 13
9
8 9 10 11 12 13 14 15 16
3
12 13 14
13
3 4 5 6 7 8 9 10 11 12 13 14 15
15
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
8
11 12 13 14 15 16 17 18
4
6 7 8 9
7
7 8 9 10 11 12 13
13
3 4 5 6 7 8 9 10 11 12 13 14 15
13
9 10 11 12 13 14 15 16 17 18 19 20 21
4
11 12 13 14
7
12 13 14 15 16 17 18
3
6 7 8
10
11 12 13 14 15 16 17 18 19 20
7
5 6 7 8 9 10 11
14
4 5 6 7 8 9 10 11 12 13 14 15 16 17
6
8 9 10 11 12 13
8
11 12 13 14 15 16 17 18
13
3 4 5 6 7 8 9 10 11 12 13 14 15
8
9 10 11 12 13 14 15 16
8
9 10 11 12 13 14 15 16
12
8 9 10 11 12 13 14 15 16 17 18 19
5
5 6 7 8 9
15
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
12
6 7 8 9 10 11 12 13 14 15 16 17
4
5 6 7 8
7
3 4 5 6 7 8 9
8
9 10 11 12 13 14 15 16
14
10 11 12 13 14 15 16 17 18 19 20 21 22 23
12
7 8 9 10 11 12 13 14 15 16 17 18
16
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
11
3 4 5 6 7 8 9 10 11 12 13
4
7 8 9 10
11
3 4 5 6 7 8 9 10 11 12 13
16
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
6
10 11 12 13 14 15
4
10 11 12 13
8
6 7 8 9 10 11 12 13
10
12 13 14 15 16 17 18 19 20 21
12
11 12 13 14 15 16 17 18 19 20 21 22
4
11 12 13 14
13
9 10 11 12 13 14 15 16 17 18 19 20 21
13
3 4 5 6 7 8 9 10 11 12 13 14 15
8
11 12 13 14 15 16 17 18
7
4 5 6 7 8 9 10
5
8 9 10 11 12
11
12 13 14 15 16 17 18 19 20 21 22
5
10 11 12 13 14
5
6 7 8 9 10
4
4 5 6 7
7
3 4 5 6 7 8 9
4
9 10 11 12
Editor is loading...