Submission #3776654


Source Code Expand

import java.util.*;

public class Main {
  public static class Point {
    int y, x;

    public Point(int y, int x) {
      this.y = y;
      this.x = x;
    }
  }

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int R = sc.nextInt();
    int C = sc.nextInt();
    int sy = sc.nextInt() - 1;
    int sx = sc.nextInt() - 1;
    int gy = sc.nextInt() - 1;
    int gx = sc.nextInt() - 1;
    char[][] c = new char[50][50];
    for (int i = 0; i < R; i++) {
      c[i] = sc.next().toCharArray();
    }
    int INF = Integer.MAX_VALUE;
    int[][] dist = new int[50][50];
    for (int i = 0; i < R; i++) {
      for (int j = 0; j < C; j++) {
        dist[i][j] = INF;
      }
    }
    int[] dy = { -1, 0, 1, 0 };
    int[] dx = { 0, 1, 0, -1 };
    Deque<Point> que = new ArrayDeque<>();
    que.addLast(new Point(sy, sx));
    dist[sy][sx] = 0;
    while (que.size() > 0) {
      Point p = que.pollFirst();
      if (p.y == gy && p.x == gx) {
        break;
      }
      for (int i = 0; i < 4; i++) {
        int ny = p.y + dy[i];
        int nx = p.x + dx[i];
        if (0 <= ny && ny < R && 0 <= nx && nx < C && c[ny][nx] != '#' && dist[ny][nx] == INF) {
          que.addLast(new Point(ny, nx));
          dist[ny][nx] = dist[p.y][p.x] + 1;
        }
      }
    }
    System.out.println(dist[gy][gx]);
  }
}

Submission Info

Submission Time
Task C - 幅優先探索
User parsee1053
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 1403 Byte
Status AC
Exec Time 104 ms
Memory 23764 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 93 ms 18644 KB
subtask0_sample02.txt AC 94 ms 18768 KB
subtask0_sample03.txt AC 100 ms 20564 KB
subtask1_01.txt AC 102 ms 21204 KB
subtask1_02.txt AC 97 ms 21844 KB
subtask1_03.txt AC 100 ms 21588 KB
subtask1_04.txt AC 101 ms 23764 KB
subtask1_05.txt AC 98 ms 21460 KB
subtask1_06.txt AC 100 ms 18644 KB
subtask1_07.txt AC 95 ms 19028 KB
subtask1_08.txt AC 96 ms 21844 KB
subtask1_09.txt AC 101 ms 21844 KB
subtask1_10.txt AC 99 ms 21844 KB
subtask1_11.txt AC 104 ms 21716 KB
subtask1_12.txt AC 99 ms 20564 KB
subtask1_13.txt AC 99 ms 18644 KB
subtask1_14.txt AC 98 ms 21332 KB
subtask1_15.txt AC 100 ms 21076 KB
subtask1_16.txt AC 98 ms 21844 KB
subtask1_17.txt AC 99 ms 21844 KB
subtask1_18.txt AC 100 ms 21204 KB
subtask1_19.txt AC 100 ms 21588 KB
subtask1_20.txt AC 98 ms 23764 KB
subtask1_21.txt AC 100 ms 21076 KB
subtask1_22.txt AC 99 ms 21076 KB