#72
격자 탈출
채점 준비중
시간 제한
1000ms
메모리 제한
256MB
제출
4
정답
4
맞힌 사람
4
정답 비율
100.0%

N \times M 크기의 격자가 주어질 때, ~(1, 1)~에서 시작해서 ~(N, M)~에 도착할 수 있는지 구해보자.

입력

첫째 줄에 정수 ~N, M (1 \le N, M \le 50)~이 주어진다. N은 격자의 세로 길이이고, M은 가로 길이이다.

둘째 줄부터 N개의 줄에 N \times M 크기의 격자가 주어진다. 격자의 각 칸은 .이거나 #이다. .은 빈 칸을 의미한다. 현재 칸에서 인접한 빈 칸으로는 자유롭게 이동할 수 있다. #은 벽을 의미한다. 벽이 있는 칸으로는 이동할 수 없다.

~(1, 1)~과 ~(N, M)~은 빈 칸이다.

출력

~(1, 1)~에서 시작해서 ~(N, M)~에 도착할 수 있는지 YES를, 그렇지 않다면 NO를 출력한다.

예제 입력 1

3 3
..#
#.#
#..

예제 출력 1

YES

예제 입력 2

1 1
.

예제 출력 2

YES

예제 입력 3

5 5
.....
####.
.....
.####
...#.

예제 출력 3

NO

예제 입력 4

7 26
..........................
.######.##.....##..#####..
.##.....##.....##.##...##.
.######.##..#..##.#######.
.....##.##.###.##.##...##.
.######..###.###..##...##.
..........................

예제 출력 4

YES

힌트

~(1, 1)~에서 ~(N, M)~까지의 경로가 있다는 것은 두 정점이 서로 같은 컴포넌트라는 의미와 같습니다.

(1, 1) 혹은 ~(N, M)~을 시작으로 그래프 탐색(DFS, BFS)을 수행했을 때 (1, 1) 혹은 ~(N, M)~을 방문하는지 확인하면 됩니다.

코드 제출
로딩 중...
내 제출
아직 제출 내역이 없습니다.
맞은 사람
순위사용자언어시간메모리코드 길이
🥇202102622_김우솔Java977ms26752KB2094B
🥈202302602_이준휘Java1271ms44032KB1531B
🥉202500392Java1613ms93408KB1431B
4202102659_안우진Java1719ms33664KB1910B
전체 제출
#사용자결과언어시간메모리코드 길이제출 시간
5400202500392정답Java1613ms93408KB1431B2025. 05. 25. 16:03
3623202102622_김우솔정답Java977ms26752KB2094B2024. 05. 13. 11:07
3621202302602_이준휘정답Java1271ms44032KB1531B2024. 05. 13. 10:56
3606202102659_안우진정답Java1719ms33664KB1910B2024. 05. 13. 10:04