Submission #2149090
Source Code Expand
import java.io.IOException; import java.util.ArrayDeque; import java.util.Queue; import java.util.Scanner; public class Main { static int[] a = {-1, 1, 0, 0}; static int[] b = {0, 0, -1, 1}; static char ng = '#'; static char ok = '.'; static int INF = 1 << 29; public static void main(String[] args) throws IOException { Scanner in = new Scanner(System.in); int r = in.nextInt(); int c = in.nextInt(); int sy = in.nextInt(); int sx = in.nextInt(); int gy = in.nextInt(); int gx = in.nextInt(); char[][] maze = new char[r+1][c+1]; int[][] dist = new int[r+1][c+1]; for (int i = 1; i <= r; i++) { for (int j = 1; j <= c; j++) { dist[i][j] = INF; } } for (int i = 1; i <= r; i++) { maze[i] = (" "+in.next()).toCharArray(); } Queue<Point> q = new ArrayDeque<>(); q.add(new Point(sy, sx)); dist[sy][sx] = 0; while (!q.isEmpty()) { Point p = q.remove(); int ny = p.y; int nx = p.x; for (int i = 0; i < 4; i++) { int my = ny + a[i]; int mx = nx + b[i]; if (my < 1 || mx < 1 || my > r || mx > c || maze[my][mx] == ng || dist[my][mx] <= dist[ny][nx] + 1) { continue; } dist[my][mx] = dist[ny][nx] + 1; q.add(new Point(mx, my)); } } System.out.println(dist[gy][gx]); } static class Point { int x; int y; Point(int x, int y) { this.x = x; this.y = y; } } }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | tutuz |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 1452 Byte |
Status | AC |
Exec Time | 115 ms |
Memory | 25556 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 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 | 115 ms | 21076 KB |
subtask0_sample02.txt | AC | 93 ms | 19284 KB |
subtask0_sample03.txt | AC | 100 ms | 20948 KB |
subtask1_01.txt | AC | 98 ms | 18772 KB |
subtask1_02.txt | AC | 100 ms | 19668 KB |
subtask1_03.txt | AC | 98 ms | 21844 KB |
subtask1_04.txt | AC | 101 ms | 21844 KB |
subtask1_05.txt | AC | 103 ms | 20560 KB |
subtask1_06.txt | AC | 100 ms | 21716 KB |
subtask1_07.txt | AC | 93 ms | 21844 KB |
subtask1_08.txt | AC | 96 ms | 19796 KB |
subtask1_09.txt | AC | 101 ms | 19796 KB |
subtask1_10.txt | AC | 98 ms | 21844 KB |
subtask1_11.txt | AC | 100 ms | 19540 KB |
subtask1_12.txt | AC | 100 ms | 20564 KB |
subtask1_13.txt | AC | 99 ms | 18772 KB |
subtask1_14.txt | AC | 96 ms | 19796 KB |
subtask1_15.txt | AC | 98 ms | 25556 KB |
subtask1_16.txt | AC | 98 ms | 21844 KB |
subtask1_17.txt | AC | 98 ms | 18772 KB |
subtask1_18.txt | AC | 99 ms | 19796 KB |
subtask1_19.txt | AC | 99 ms | 18772 KB |
subtask1_20.txt | AC | 100 ms | 19284 KB |
subtask1_21.txt | AC | 100 ms | 19924 KB |
subtask1_22.txt | AC | 98 ms | 19668 KB |