Submission #1516101


Source Code Expand

import java.util.*;

public class Main{              
    
      public static void main(String[] args) {          
          
        Scanner sc = new Scanner(System.in);
       
        int R = sc.nextInt();
        int C = sc.nextInt();
        
        char a[][] = new char[R][C];
        
        int sy = sc.nextInt() - 1;
        int sx = sc.nextInt() - 1;
        
        int gy = sc.nextInt() - 1;
        int gx = sc.nextInt() - 1;        
        
        for(int i = 0 ;i < R;i++){
            String str = sc.next();
            for(int j = 0;j < C;j++){
                a[i][j] = str.charAt(j);                
            }                        
        }                           
        
        Deque<Pair> q = new ArrayDeque<>();
        
        q.addLast(new Pair(sy,sx,0));                      
        
        int d[][] = new int[R][C];
        
        for(int i = 0;i < R;i++){
            for(int j = 0;j < C;j++){
              d[i][j] = -1;   
            }            
        }
        
        while(!q.isEmpty()){
            
            int dy[] = {-1,0,1,0};
            int dx[] = {0,-1,0,1};
            
            Pair p = q.pollFirst();
            
            for(int i = 0;i < 4;i++){
                int nx = p.x + dx[i];
                int ny = p.y + dy[i];                                
                
               if(0 <= nx && nx < C && ny >= 0 && ny < R && d[ny][nx] == -1 && a[ny][nx] != '#'){
                 d[ny][nx] = p.d + 1;                
                 q.addLast(new Pair(ny,nx,p.d + 1));                                                
               }                                    
            }
            
        }
         
        
        System.out.println(d[gy][gx]);                
        
    }   
      
    static class Pair{           
           public int y;
           public int x;
           public int d;
            
           public Pair(int y,int x,int d){
              this.y = y;
              this.x = x;
              this.d = d;
           }                      
    } 
    
}       

Submission Info

Submission Time
Task C - 幅優先探索
User suesue
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 2176 Byte
Status AC
Exec Time 104 ms
Memory 23892 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 95 ms 23892 KB
subtask0_sample02.txt AC 95 ms 19028 KB
subtask0_sample03.txt AC 100 ms 19796 KB
subtask1_01.txt AC 100 ms 19796 KB
subtask1_02.txt AC 101 ms 19796 KB
subtask1_03.txt AC 100 ms 19020 KB
subtask1_04.txt AC 102 ms 19668 KB
subtask1_05.txt AC 101 ms 20948 KB
subtask1_06.txt AC 100 ms 20816 KB
subtask1_07.txt AC 94 ms 22612 KB
subtask1_08.txt AC 97 ms 21844 KB
subtask1_09.txt AC 101 ms 19668 KB
subtask1_10.txt AC 99 ms 21844 KB
subtask1_11.txt AC 100 ms 19796 KB
subtask1_12.txt AC 100 ms 19796 KB
subtask1_13.txt AC 104 ms 20692 KB
subtask1_14.txt AC 97 ms 21204 KB
subtask1_15.txt AC 100 ms 19028 KB
subtask1_16.txt AC 100 ms 19668 KB
subtask1_17.txt AC 101 ms 19028 KB
subtask1_18.txt AC 101 ms 19028 KB
subtask1_19.txt AC 99 ms 18640 KB
subtask1_20.txt AC 101 ms 21716 KB
subtask1_21.txt AC 101 ms 20560 KB
subtask1_22.txt AC 100 ms 19796 KB