Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5.  
  6. public class Problem3 {
  7.  
  8. public static void main(String[] args) throws IOException {
  9. // TODO Auto-generated method stub
  10. // BufferedReader br = new BufferedReader(new InputStreamReader(new
  11. // FileInputStream("DATA31.txt")));
  12. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  13. for (int x = 0; x < 10; x++) {
  14. String[][] temp = new String[16][16];
  15. int[][] m = new int[16][16];
  16. int count = 0;
  17. for (int i = 0; i < 16; i++) {
  18. temp[i] = br.readLine().split("");
  19. }
  20. for (int i = 0; i < m.length; i++) {
  21. for (int j = 0; j < m.length; j++) {
  22. if (temp[i][j].equals("-")) {
  23. m[i][j] = -1;
  24. } else {
  25. m[i][j] = Integer.parseInt(temp[i][j], 16);
  26. }
  27. }
  28. }
  29.  
  30. for (int i = 0; i < m.length; i++) {
  31. for (int j = 0; j < m.length; j++) {
  32. if (m[i][j] == -1) {
  33. for (int k = 0; k < 16; k++) {
  34. boolean flag = true;
  35. for (int l = 0; l < 16; l++) {
  36. if (m[i][l] == k) {
  37. flag = false;
  38. break;
  39. } else if (m[l][j] == k) {
  40. flag = false;
  41. break;
  42. }
  43. }
  44. int xQuad = (int) Math.ceil(i / 4);
  45. int yQuad = (int) Math.ceil(j / 4);
  46. for (int l = 0; l < 4 && flag; l++) {
  47. for (int n = 0; n < 4; n++) {
  48. if (m[l + xQuad * 4][n + yQuad * 4] == k) {
  49. flag = false;
  50. break;
  51. }
  52. }
  53. }
  54. if (!flag) {
  55. continue;
  56. } else {
  57. m[i][j] = k;
  58. count++;
  59. break;
  60. }
  61. }
  62.  
  63. }
  64. }
  65. }
  66. System.out.println(count);
  67. }
  68. br.close();
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement