Submission #4016427
Source Code Expand
import java.util.*; class Main { class Point { int r; int c; public Point(int r, int c) { this.r = r; this.c = c; } } public void main() { Scanner scanner = new Scanner(System.in); String[] rc = scanner.nextLine().split(" ", 2); int r = Integer.parseInt(rc[0]); int c = Integer.parseInt(rc[1]); String[] sysx = scanner.nextLine().split(" ", 2); int sy = Integer.parseInt(sysx[0]) - 1; int sx = Integer.parseInt(sysx[1]) - 1; String[] gygx = scanner.nextLine().split(" ", 2); int gy = Integer.parseInt(gygx[0]) - 1; int gx = Integer.parseInt(gygx[1]) - 1; int[][] count = new int[r][c]; boolean[][] movable = new boolean[r][c]; for (int i = 0; i < r; i++) { String line = scanner.nextLine(); for (int j = 0; j < c; j++) { movable[i][j] = (line.charAt(j) == '.'); count[i][j] = -1; } } Queue<Point> queue = new LinkedList<>(); queue.add(new Point(sy, sx)); count[sy][sx] = 0; Point point; while ((point = queue.poll()) != null) { if (point.r == gy && point.c == gx) { System.out.println(count[point.r][point.c]); return; } if (movable[point.r-1][point.c] && count[point.r-1][point.c] == -1) { count[point.r-1][point.c] = count[point.r][point.c] + 1; queue.add(new Point(point.r-1, point.c)); } if (movable[point.r][point.c+1] && count[point.r][point.c+1] == -1) { count[point.r][point.c+1] = count[point.r][point.c] + 1; queue.add(new Point(point.r, point.c+1)); } if (movable[point.r][point.c-1] && count[point.r][point.c-1] == -1) { count[point.r][point.c-1] = count[point.r][point.c] + 1; queue.add(new Point(point.r, point.c-1)); } if (movable[point.r+1][point.c] && count[point.r+1][point.c] == -1) { count[point.r+1][point.c] = count[point.r][point.c] + 1; queue.add(new Point(point.r+1, point.c)); } } } public static void main(String[] args) { new Main().main(); } }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | k0kubun |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 2450 Byte |
Status | AC |
Exec Time | 102 ms |
Memory | 22612 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 | 93 ms | 19924 KB |
subtask0_sample02.txt | AC | 94 ms | 20564 KB |
subtask0_sample03.txt | AC | 100 ms | 19156 KB |
subtask1_01.txt | AC | 98 ms | 19796 KB |
subtask1_02.txt | AC | 99 ms | 19924 KB |
subtask1_03.txt | AC | 102 ms | 16980 KB |
subtask1_04.txt | AC | 102 ms | 21460 KB |
subtask1_05.txt | AC | 100 ms | 19540 KB |
subtask1_06.txt | AC | 102 ms | 19668 KB |
subtask1_07.txt | AC | 94 ms | 20556 KB |
subtask1_08.txt | AC | 100 ms | 19028 KB |
subtask1_09.txt | AC | 99 ms | 21716 KB |
subtask1_10.txt | AC | 98 ms | 21716 KB |
subtask1_11.txt | AC | 99 ms | 19796 KB |
subtask1_12.txt | AC | 101 ms | 21844 KB |
subtask1_13.txt | AC | 100 ms | 22612 KB |
subtask1_14.txt | AC | 98 ms | 19028 KB |
subtask1_15.txt | AC | 99 ms | 21716 KB |
subtask1_16.txt | AC | 98 ms | 19412 KB |
subtask1_17.txt | AC | 100 ms | 21844 KB |
subtask1_18.txt | AC | 99 ms | 17748 KB |
subtask1_19.txt | AC | 99 ms | 18640 KB |
subtask1_20.txt | AC | 97 ms | 18772 KB |
subtask1_21.txt | AC | 100 ms | 21204 KB |
subtask1_22.txt | AC | 100 ms | 21588 KB |