Submission #2698010
Source Code Expand
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Pair { int i, j; public Pair(int i, int j) { this.i = i; this.j = j; } } public class Main { static int R, C, si, sj, gi, gj; static char[][] grid; static int[][] d; static int[] di = { -1, 0, 1, 0 }; static int[] dj = { 0, 1, 0, -1 }; //[i][j] //U: [i-1][j] = [i + di[0]][j + dj[0]] //R: [i][j+1] = [i + di[1]][j + dj[1]] //D: [i+1][j] //L: [i][j-1] static int bfs() { Pair start = new Pair(si, sj); //キューをつくる Queue<Pair> que = new LinkedList<Pair>(); //初期状態をキューにいれる que.add(start); while (!que.isEmpty()) { //現状態を取り出す Pair now = que.poll(); for (int k = 0; k < 4; k++) { int ni = now.i + di[k]; int nj = now.j + dj[k]; if (grid[ni][nj] == '.' && d[ni][nj] == 0) { d[ni][nj] = d[now.i][now.j] + 1; Pair next = new Pair(ni, nj); que.add(next); } } } return d[gi][gj]; } public static void main(String[] args) { Scanner in = new Scanner(System.in); R = in.nextInt(); C = in.nextInt(); si = in.nextInt() - 1; sj = in.nextInt() - 1; gi = in.nextInt() - 1; gj = in.nextInt() - 1; grid = new char[R][C]; d = new int[R][C]; for (int i = 0; i < R; i++) { String str = in.next(); for (int j = 0; j < C; j++) { grid[i][j] = str.charAt(j); } } System.out.println(bfs()); in.close(); } }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | LitMc |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 1549 Byte |
Status | AC |
Exec Time | 107 ms |
Memory | 21972 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 | 19796 KB |
subtask0_sample02.txt | AC | 94 ms | 21844 KB |
subtask0_sample03.txt | AC | 102 ms | 21972 KB |
subtask1_01.txt | AC | 107 ms | 21712 KB |
subtask1_02.txt | AC | 101 ms | 19668 KB |
subtask1_03.txt | AC | 99 ms | 18644 KB |
subtask1_04.txt | AC | 105 ms | 19028 KB |
subtask1_05.txt | AC | 101 ms | 19924 KB |
subtask1_06.txt | AC | 99 ms | 18772 KB |
subtask1_07.txt | AC | 95 ms | 19792 KB |
subtask1_08.txt | AC | 97 ms | 19796 KB |
subtask1_09.txt | AC | 102 ms | 19284 KB |
subtask1_10.txt | AC | 99 ms | 18644 KB |
subtask1_11.txt | AC | 100 ms | 19028 KB |
subtask1_12.txt | AC | 102 ms | 18644 KB |
subtask1_13.txt | AC | 100 ms | 19924 KB |
subtask1_14.txt | AC | 99 ms | 18644 KB |
subtask1_15.txt | AC | 99 ms | 21844 KB |
subtask1_16.txt | AC | 100 ms | 19412 KB |
subtask1_17.txt | AC | 101 ms | 17876 KB |
subtask1_18.txt | AC | 103 ms | 21712 KB |
subtask1_19.txt | AC | 102 ms | 21204 KB |
subtask1_20.txt | AC | 101 ms | 18644 KB |
subtask1_21.txt | AC | 101 ms | 18772 KB |
subtask1_22.txt | AC | 100 ms | 19284 KB |