Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Problem3 {
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- // BufferedReader br = new BufferedReader(new InputStreamReader(new
- // FileInputStream("DATA31.txt")));
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- for (int x = 0; x < 10; x++) {
- String[][] temp = new String[16][16];
- int[][] m = new int[16][16];
- int count = 0;
- for (int i = 0; i < 16; i++) {
- temp[i] = br.readLine().split("");
- }
- for (int i = 0; i < m.length; i++) {
- for (int j = 0; j < m.length; j++) {
- if (temp[i][j].equals("-")) {
- m[i][j] = -1;
- } else {
- m[i][j] = Integer.parseInt(temp[i][j], 16);
- }
- }
- }
- for (int i = 0; i < m.length; i++) {
- for (int j = 0; j < m.length; j++) {
- if (m[i][j] == -1) {
- for (int k = 0; k < 16; k++) {
- boolean flag = true;
- for (int l = 0; l < 16; l++) {
- if (m[i][l] == k) {
- flag = false;
- break;
- } else if (m[l][j] == k) {
- flag = false;
- break;
- }
- }
- int xQuad = (int) Math.ceil(i / 4);
- int yQuad = (int) Math.ceil(j / 4);
- for (int l = 0; l < 4 && flag; l++) {
- for (int n = 0; n < 4; n++) {
- if (m[l + xQuad * 4][n + yQuad * 4] == k) {
- flag = false;
- break;
- }
- }
- }
- if (!flag) {
- continue;
- } else {
- m[i][j] = k;
- count++;
- break;
- }
- }
- }
- }
- }
- System.out.println(count);
- }
- br.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement