Samkit5025

Untitled

Jun 22nd, 2022
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. package armchair;
  2.  
  3. import java.util.*;
  4.  
  5. public class UserMainCode {
  6.  
  7. static Scanner sc = new Scanner(System.in);
  8.  
  9.  
  10. public static int minimumRoom(int N,int M,int[][] A){
  11.  
  12. int[][] dist = new int[N][M];
  13. boolean[][] visited = new boolean[N][M];
  14.  
  15. for(int i=0;i<N;i++){
  16. for(int j=0;j<M;j++){
  17. dist[i][j] = 10000000;
  18. visited[i][j] = false;
  19. }
  20. }
  21.  
  22. Queue<Integer> qx=new LinkedList<>();
  23. Queue<Integer> qy=new LinkedList<>();
  24.  
  25. qx.add(0);
  26. qy.add(0);
  27.  
  28. dist[0][0] = 1;
  29. visited[0][0] = true;
  30.  
  31. while(!qx.isEmpty()) {
  32. int i = qx.remove();
  33. int j = qy.remove();
  34.  
  35. if(i+1<N && visited[i+1][j] == false && A[i+1][j]!=A[i][j]){
  36. dist[i+1][j] = dist[i][j]+1;
  37. visited[i+1][j] = true;
  38. qx.add(i+1);
  39. qy.add(j);
  40. }
  41. if(j+1<M && visited[i][j+1] == false && A[i][j+1]!=A[i][j]){
  42. dist[i][j+1] = dist[i][j]+1;
  43. visited[i][j+1] = true;
  44. qx.add(i);
  45. qy.add(j+1);
  46. }
  47. if(i-1>=0 && visited[i-1][j] == false && A[i-1][j]!=A[i][j]){
  48. dist[i-1][j] = dist[i][j]+1;
  49. visited[i-1][j] = true;
  50. qx.add(i-1);
  51. qy.add(j);
  52. }
  53. if(j-1>=0 && visited[i][j-1] == false && A[i][j-1]!=A[i][j]){
  54. dist[i][j-1] = dist[i][j]+1;
  55. visited[i][j-1] = true;
  56. qx.add(i);
  57. qy.add(j-1);
  58. }
  59. }
  60. if(visited[N-1][M-1]) {
  61. return dist[N-1][M-1];
  62. }
  63. return -1;
  64. }
  65.  
  66. public static void main(String[] args) {
  67. int N,M;
  68. N = sc.nextInt();
  69. M = sc.nextInt();
  70.  
  71. int[][] A = new int[N][M];
  72.  
  73. for(int i=0;i<N;i++){
  74. for(int j=0;j<M;j++){
  75. A[i][j] = sc.nextInt();
  76. }
  77. }
  78.  
  79. System.out.println(minimumRoom(N,M,A));
  80. }
  81. }
  82.  
  83.  
  84.  
  85.  
Advertisement
Add Comment
Please, Sign In to add comment