Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
6
Indexable
package UniformDistribution;

import java.io.FileInputStream;
import java.util.Scanner;

public class uniformDistribution {
	static int [][] map;
	static int [][] arr1;
	static int N;
	static int [] dx = {-1, 0, 1, 0};
	static int [] dy = {0, 1, 0, -1};
	static void move(int x, int y, int k) {
		map[x][y] = 0;
		for (int i = 0; i < 4; i++) {
			int x1 = x+dx[i];
			int y1 = y+dy[i];
			if (x1 >= 0 && x1 < N && y1 < N && y1 >= 0 && map[x1][y1] == k) {
				move(x1, y1, k);
			}
		}
	}
	public static void main(String[] args) throws Exception {
		System.setIn(new FileInputStream("D://Trainee//SRV_training//src//UniformDistribution//uniform.txt"));
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		for(int test_case = 1; test_case <= T; test_case++) {
			N = sc.nextInt();
			map = new int [N][N];
			arr1 = new int [2][N];
			for (int i = 1; i < N; i++) {
				for (int j = 0; j < N; j++) {
					int x = sc.nextInt()-1;
					int y = sc.nextInt()-1;
					map[x][y] = i;
					if (j == 0) {
						arr1[0][i-1] = x;
						arr1[1][i-1] = y;
					}
				}
			}
			for (int i = 0; i < N; i++) {
				for (int j = 0; j < N; j++) {
					if (map[i][j] == 0) {
						map[i][j] = N;
						arr1[0][N-1] = i;
						arr1[1][N-1] = j;
					}
				}
			}
			for (int i = 0; i < N; i++) {
				move(arr1[0][i], arr1[1][i], (i+1));
			}
			String Ans = "Valid";
			for (int i = 0; i < N; i++) {
				for (int j = 0; j < N; j++) {
					if (map[i][j] != 0) {
						Ans = "Invalid";
						break;
					}
				}
			}
			System.out.println("#" + test_case + " "  + Ans);
		}
	}
	

}
Editor is loading...