#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_김우솔 | Java | 977ms | 26752KB | 2094B |
| 🥈 | 202302602_이준휘 | Java | 1271ms | 44032KB | 1531B |
| 🥉 | 202500392 | Java | 1613ms | 93408KB | 1431B |
| 4 | 202102659_안우진 | Java | 1719ms | 33664KB | 1910B |