문제
크기의 정사각형 격자 모양 호수가 있다. 격자의 각 칸은 행과 열로 나타낸다. 맨 위 행은 행, 맨 왼쪽 열은 열이며, 맨 왼쪽 위 칸은 행 열이다. 입력에서 칸을 로 나타낼 때 는 행 번호, 는 열 번호를 의미한다. 따라서 맨 오른쪽 아래 칸은 이다.
호수의 일부 칸에는 돌이 놓여 있다. 처음 주어지는 돌들은 서로 상하좌우 및 대각선을 포함한 8방향으로 인접하지 않는다. 즉, 서로 다른 두 돌이 각각 행 열, 행 열에 있을 때 이고 인 경우는 없다.
사람은 현재 서 있는 돌에서 상하좌우 방향으로 정확히 2칸 떨어진 칸에 돌이 있으면 그 돌로 건너뛸 수 있다. 예를 들어 현재 돌이 에 있다면, , , , 중 격자 안에 있고 돌이 놓여 있는 칸으로만 이동할 수 있다.
호수의 빈 칸에 돌을 최대 개까지 추가로 놓을 수 있다. 돌을 추가한 뒤에도 모든 돌은 서로 8방향으로 인접하지 않아야 한다. 이미 돌이 있는 칸에 돌을 추가로 놓을 수는 없다.
출발 지점과 도착 지점이 주어진다. 두 지점에는 처음부터 돌이 놓여 있다. 돌을 개 이하로 추가해 출발 지점에서 도착 지점까지 이동할 수 있는지 판별하라.
입력
첫째 줄에 정수 과 가 공백으로 구분되어 주어진다.
둘째 줄에 출발 지점의 행과 열 , , 도착 지점의 행과 열 , 가 공백으로 구분되어 주어진다.
다음 셋째 줄부터 개의 줄에 걸쳐 호수의 초기 상태가 주어진다. 각 줄은 길이가 인 문자열이며, 0은 빈 호수 칸, 1은 돌이 놓인 칸을 의미한다. 이 중 번째 줄의 번째 문자는 행 열의 상태를 나타낸다.
입력으로 주어지는 격자는 다음 조건을 만족한다.
- 출발 지점과 도착 지점에는 돌이 놓여 있다.
- 처음 주어지는 모든 돌은 서로 8방향으로 인접하지 않는다.
출력
돌을 개 이하로 추가해 출발 지점에서 도착 지점까지 이동할 수 있다면 YES, 불가능하다면 NO를 출력한다.
예제 입력 1
5 2
0 0 4 4
10000
00000
00100
00000
00101
예제 출력 1
YES
- 문제를 만든 사람
- 김승현
- 알고리즘 분류
코드를 제출하려면 로그인이 필요합니다.
로그인| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 8408 | 🥇 | 박현민 | C++ | 3ms | 2172KB | 1806B | |
| 8299 | 🥈 | Flying_Spaghetti_Monster | C++ | 3ms | 2172KB | 1803B | |
| 7929 | 🥉 | Fine_Tuning | C++ | 4ms | 2172KB | 2088B | |
| 8357 | 4 | 김승현 | PyPy | 57ms | 70408KB | 1204B | |
| 8232 | 5 | 진하김 | Java | 68ms | 51192KB | 3018B | |
| 8316 | 6 | 조서현 | PyPy | 87ms | 83008KB | 1180B |
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 8408 | 맞았습니다 | C++ | 3ms | 2172KB | 1806B | 2026. 05. 26. 07:00 | |||
| 8357 | 맞았습니다 | PyPy | 57ms | 70408KB | 1204B | 2026. 05. 26. 03:06 | |||
| 8320 | 맞았습니다 | C++ | 3ms | 2172KB | 1806B | 2026. 05. 26. 01:39 | |||
| 8319 | 틀렸습니다 | C++ | - | - | 1819B | 2026. 05. 26. 01:39 | |||
| 8316 | 맞았습니다 | PyPy | 87ms | 83008KB | 1180B | 2026. 05. 26. 00:33 | |||
| 8315 | 맞았습니다 | PyPy | 87ms | 83420KB | 1180B | 2026. 05. 26. 00:25 | |||
| 8314 | 시간 초과 | C++ | - | - | 2370B | 2026. 05. 25. 23:54 | |||
| 8312 | 맞았습니다 | C++ | 6ms | 2172KB | 2094B | 2026. 05. 25. 21:39 | |||
| 8306 | 맞았습니다 | C++ | 6ms | 2744KB | 6951B | 2026. 05. 25. 17:24 | |||
| 8305 | 컴파일 에러 | C++ | - | - | 6951B | 2026. 05. 25. 17:23 | |||
| 8304 | 맞았습니다 | C++ | 5ms | 2168KB | 3625B | 2026. 05. 25. 17:19 | |||
| 8303 | 맞았습니다 | C++ | 4ms | 3708KB | 1834B | 2026. 05. 25. 16:48 | |||
| 8302 | 맞았습니다 | C++ | 4ms | 2172KB | 1833B | 2026. 05. 25. 16:47 | |||
| 8301 | 틀렸습니다 | C++ | - | - | 1832B | 2026. 05. 25. 16:46 | |||
| 8300 | 맞았습니다 | C++ | 3ms | 2172KB | 1822B | 2026. 05. 25. 16:44 | |||
| 8299 | 맞았습니다 | C++ | 3ms | 2172KB | 1803B | 2026. 05. 25. 16:10 | |||
| 8298 | 맞았습니다 | C++ | 4ms | 2172KB | 1778B | 2026. 05. 25. 16:05 | |||
| 8232 | 맞았습니다 | Java | 68ms | 51192KB | 3018B | 2026. 05. 25. 11:06 | |||
| 8231 | 맞았습니다 | Java | 70ms | 51764KB | 3059B | 2026. 05. 25. 11:02 | |||
| 8218 | 맞았습니다 | C++ | 4ms | 2364KB | 2090B | 2026. 05. 25. 09:05 |