Guest User

Untitled

a guest
Mar 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. class Main {
  4. public static void main(String[] args) {
  5. Scanner sc = new Scanner(System.in);
  6. int n = sc.nextInt();
  7. int m = sc.nextInt();
  8. int[][] map = new int[n][m];
  9. for (int z = 0; z < n; z++) {
  10. for (int y = 0; y < m; y++) {
  11. map[z][y] = sc.nextInt();
  12. }
  13. }
  14. int answer = 0;
  15. for (int z = 0; z < n * m - 2; z++) {
  16. if (map[z / m][z % m] == 0) {
  17. for (int y = z + 1; y < n * m - 1; y++) {
  18. if (map[y / m][y % m] == 0) {
  19. for (int x = y + 1; x < n * m; x++) {
  20. if (map[x / m][x % m] == 0) {
  21. int[][] newmap = new int[n][m];
  22. for (int w = 0; w < n; w++) {
  23. for (int v = 0; v < m; v++) {
  24. newmap[w][v] = map[w][v];
  25. }
  26. }
  27. newmap[z / m][z % m] = 1;
  28. newmap[y / m][y % m] = 1;
  29. newmap[x / m][x % m] = 1;
  30. for (int w = 0; w < n; w++) {
  31. for (int v = 0; v < m; v++) {
  32. if (newmap[w][v] == 2) {
  33. Queue<Integer> q = new LinkedList<Integer>();
  34. q.add(w);
  35. q.add(v);
  36. while (!q.isEmpty()) {
  37. int row = q.poll();
  38. int column = q.poll();
  39. if (column + 1 < m && newmap[row][column + 1] == 0) {
  40. newmap[row][column + 1] = 2;
  41. q.add(row);
  42. q.add(column + 1);
  43. }
  44. if (row + 1 < n && newmap[row + 1][column] == 0) {
  45. newmap[row + 1][column] = 2;
  46. q.add(row + 1);
  47. q.add(column);
  48. }
  49. if (column - 1 >= 0 && newmap[row][column - 1] == 0) {
  50. newmap[row][column - 1] = 2;
  51. q.add(row);
  52. q.add(column - 1);
  53. }
  54. if (row - 1 >= 0 && newmap[row - 1][column] == 0) {
  55. newmap[row - 1][column] = 2;
  56. q.add(row - 1);
  57. q.add(column);
  58. }
  59. }
  60. }
  61. }
  62. }
  63. int count = 0;
  64. for (int w = 0; w < n; w++) {
  65. for (int v = 0; v < m; v++) {
  66. if (newmap[w][v] == 0) {
  67. count++;
  68. }
  69. }
  70. }
  71. answer = Math.max(answer, count);
  72. }
  73. }
  74. }
  75. }
  76. }
  77. }
  78. System.out.println(answer);
  79. sc.close();
  80. }
  81. }
Add Comment
Please, Sign In to add comment