Submission #3925710
Source Code Expand
import java.util.*; import java.awt.Point; class Main{ static int cnt; static char[][] maze; static int[][] count; static int R; static int C; static Queue<Point> q; public static void main(String[] args) { Scanner sc = new Scanner(System.in); R = sc.nextInt(); C = sc.nextInt(); Point start = new Point(sc.nextInt()-1, sc.nextInt()-1); Point end = new Point(sc.nextInt()-1, sc.nextInt()-1); maze = new char[R][C]; count = new int[R][C]; for(int i = 0; i<R; i++) { for(int j = 0; j<C; j++) { count[i][j] = 100000; } } for(int i = 0; i<R; i++) { String nextLine = sc.next(); for(int j = 0; j<C; j++) { maze[i][j] = nextLine.charAt(j); } } q = new ArrayDeque<Point>(); q.add(start); count[(int)(start.getX())][(int)(start.getY())] = 0; cnt = 0; while(q.peek() != null) { Point p = q.poll(); if(count[(int)(end.getX())][(int)(end.getY())]<100000) break; addPQ(p); // 周りをqueueに入れる処理 //countを増やす //塗り替え作業 } System.out.println(count[(int)(end.getX())][(int)(end.getY())]); } public static void addPQ(Point p) { int x = (int)(p.getX()); int y = (int)(p.getY()); maze[x][y] = '#'; // System.out.println("x,y = " + x + " , " + y); if(y+1<C && maze[x][y+1] == '.') { q.add(new Point(x,y+1)); count[x][y+1] = count[x][y] + 1; } if(y-1>=0 && maze[x][y-1] == '.') { q.add(new Point(x,y-1)); count[x][y-1] = count[x][y] + 1; } if(x-1>=0 && maze[x-1][y] == '.') { q.add(new Point(x-1,y)); count[x-1][y] = count[x][y] + 1; } if(x+1<R && maze[x+1][y] == '.') { q.add(new Point(x+1,y)); count[x+1][y] = count[x][y] + 1; } } }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | MiraiNIKI |
Language | Java8 (OpenJDK 1.8.0) |
Score | 0 |
Code Size | 1816 Byte |
Status | TLE |
Exec Time | 2121 ms |
Memory | 454288 KB |
Judge Result
Set Name | Sample | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | ||||||||
Status |
|
|
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 | 96 ms | 19156 KB |
subtask0_sample02.txt | AC | 96 ms | 21204 KB |
subtask0_sample03.txt | TLE | 2114 ms | 409956 KB |
subtask1_01.txt | AC | 102 ms | 18772 KB |
subtask1_02.txt | AC | 116 ms | 21204 KB |
subtask1_03.txt | AC | 105 ms | 21716 KB |
subtask1_04.txt | TLE | 2118 ms | 407512 KB |
subtask1_05.txt | TLE | 2108 ms | 386412 KB |
subtask1_06.txt | TLE | 2111 ms | 422548 KB |
subtask1_07.txt | AC | 99 ms | 19284 KB |
subtask1_08.txt | AC | 104 ms | 19540 KB |
subtask1_09.txt | TLE | 2114 ms | 454288 KB |
subtask1_10.txt | AC | 108 ms | 19028 KB |
subtask1_11.txt | TLE | 2114 ms | 408960 KB |
subtask1_12.txt | TLE | 2115 ms | 388984 KB |
subtask1_13.txt | AC | 222 ms | 69080 KB |
subtask1_14.txt | AC | 102 ms | 21204 KB |
subtask1_15.txt | TLE | 2111 ms | 432572 KB |
subtask1_16.txt | TLE | 2108 ms | 368832 KB |
subtask1_17.txt | TLE | 2107 ms | 364120 KB |
subtask1_18.txt | TLE | 2121 ms | 430276 KB |
subtask1_19.txt | AC | 107 ms | 21972 KB |
subtask1_20.txt | AC | 105 ms | 20688 KB |
subtask1_21.txt | TLE | 2107 ms | 414380 KB |
subtask1_22.txt | AC | 130 ms | 20412 KB |