Submission #1692929


Source Code Expand

import java.util.*;

class Main{
    
  static class Pair{
      
      int x;
      int y;
      int d;
      
      Pair(int x,int y,int d){
          this.x = x;
          this.y = y;
          this.d = d;
      }
    
 }

   public static void main(String[] args){

      Scanner sc = new Scanner(System.in);
      
      int R = sc.nextInt();
      int C = sc.nextInt();
      
      int sy = sc.nextInt() - 1;
      int sx = sc.nextInt() - 1;
      
      int gy = sc.nextInt() - 1;
      int gx = sc.nextInt() - 1;
      
      char c[][] = new char[R][C];
      
      for(int i = 0;i < R;i++){
         String S = sc.next();
         for(int j = 0;j < C;j++){
             c[i][j] = S.charAt(j);   
         }       
      }
      
      int d[][] = new int[R][C];
      for(int i = 0;i < R;i++){
         Arrays.fill(d[i],-1);
      }
      
      d[sy][sx] = 0;
      
      Deque<Pair> q = new ArrayDeque<Pair>();
      q.add(new Pair(sx,sy,0));

      int dx[] = new int[]{-1,0,1,0};
      int dy[] = new int[]{0 ,1,0,-1};
      
      while(!q.isEmpty()){
          Pair p = q.pollFirst();
          
          if(p.x == gx && p.y == gy){
              break;
          }
          
          for(int i = 0;i < 4;i++){
            int nx = p.x + dx[i];
            int ny = p.y + dy[i];
            if(nx <0 || nx > C || ny < 0 || ny > R)
                continue;
            if(c[ny][nx] != '#' && d[ny][nx] == -1){
              d[ny][nx] = p.d + 1;                
              q.add(new Pair(nx,ny,p.d + 1));
            }
          }                    
      }
      
      
      System.out.println(d[gy][gx]);
                  
   }
}
        
        
        

Submission Info

Submission Time
Task C - 幅優先探索
User suesue
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 1765 Byte
Status AC
Exec Time 122 ms
Memory 23508 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 25
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
All subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 107 ms 23508 KB
subtask0_sample02.txt AC 105 ms 19796 KB
subtask0_sample03.txt AC 117 ms 19028 KB
subtask1_01.txt AC 111 ms 22996 KB
subtask1_02.txt AC 114 ms 19028 KB
subtask1_03.txt AC 109 ms 21716 KB
subtask1_04.txt AC 116 ms 21204 KB
subtask1_05.txt AC 122 ms 21076 KB
subtask1_06.txt AC 113 ms 20564 KB
subtask1_07.txt AC 106 ms 19156 KB
subtask1_08.txt AC 114 ms 18900 KB
subtask1_09.txt AC 116 ms 21588 KB
subtask1_10.txt AC 115 ms 19796 KB
subtask1_11.txt AC 117 ms 21844 KB
subtask1_12.txt AC 114 ms 23124 KB
subtask1_13.txt AC 111 ms 18636 KB
subtask1_14.txt AC 112 ms 21844 KB
subtask1_15.txt AC 112 ms 21076 KB
subtask1_16.txt AC 114 ms 21332 KB
subtask1_17.txt AC 115 ms 20948 KB
subtask1_18.txt AC 115 ms 19796 KB
subtask1_19.txt AC 112 ms 20692 KB
subtask1_20.txt AC 111 ms 22996 KB
subtask1_21.txt AC 119 ms 20564 KB
subtask1_22.txt AC 111 ms 18644 KB