#1328
Gold II
징검다리 놓기
시간 제한
1s
메모리 제한
512MB
제출
53
정답
30
맞힌 사람
6
정답 비율
24.0%

문제

N×NN \times N 크기의 정사각형 격자 모양 호수가 있다. 격자의 각 칸은 행과 열로 나타낸다. 맨 위 행은 00행, 맨 왼쪽 열은 00열이며, 맨 왼쪽 위 칸은 0000열이다. 입력에서 칸을 (x,y)(x, y)로 나타낼 때 xx는 행 번호, yy는 열 번호를 의미한다. 따라서 맨 오른쪽 아래 칸은 (N1,N1)(N-1, N-1)이다.

호수의 일부 칸에는 돌이 놓여 있다. 처음 주어지는 돌들은 서로 상하좌우 및 대각선을 포함한 8방향으로 인접하지 않는다. 즉, 서로 다른 두 돌이 각각 x1x_1y1y_1열, x2x_2y2y_2열에 있을 때 x1x21|x_1-x_2| \le 1이고 y1y21|y_1-y_2| \le 1인 경우는 없다.

사람은 현재 서 있는 돌에서 상하좌우 방향으로 정확히 2칸 떨어진 칸에 돌이 있으면 그 돌로 건너뛸 수 있다. 예를 들어 현재 돌이 (x,y)(x, y)에 있다면, (x+2,y)(x+2, y), (x2,y)(x-2, y), (x,y+2)(x, y+2), (x,y2)(x, y-2) 중 격자 안에 있고 돌이 놓여 있는 칸으로만 이동할 수 있다.

호수의 빈 칸에 돌을 최대 KK개까지 추가로 놓을 수 있다. 돌을 추가한 뒤에도 모든 돌은 서로 8방향으로 인접하지 않아야 한다. 이미 돌이 있는 칸에 돌을 추가로 놓을 수는 없다.

출발 지점과 도착 지점이 주어진다. 두 지점에는 처음부터 돌이 놓여 있다. 돌을 KK개 이하로 추가해 출발 지점에서 도착 지점까지 이동할 수 있는지 판별하라.

입력

첫째 줄에 정수 NNKK가 공백으로 구분되어 주어진다. (3N500;0K2)(3 \le N \le 500; 0 \le K \le 2)

둘째 줄에 출발 지점의 행과 열 x1x_1, y1y_1, 도착 지점의 행과 열 x2x_2, y2y_2가 공백으로 구분되어 주어진다. (0x1,y1,x2,y2<N)(0 \le x_1, y_1, x_2, y_2 < N)

다음 셋째 줄부터 NN개의 줄에 걸쳐 호수의 초기 상태가 주어진다. 각 줄은 길이가 NN인 문자열이며, 0은 빈 호수 칸, 1은 돌이 놓인 칸을 의미한다. 이 중 ii번째 줄의 jj번째 문자는 iijj열의 상태를 나타낸다. (0i,j<N)(0 \le i, j < N)

입력으로 주어지는 격자는 다음 조건을 만족한다.

  • 출발 지점과 도착 지점에는 돌이 놓여 있다.
  • 처음 주어지는 모든 돌은 서로 8방향으로 인접하지 않는다.

출력

돌을 KK개 이하로 추가해 출발 지점에서 도착 지점까지 이동할 수 있다면 YES, 불가능하다면 NO를 출력한다.

예제 입력 1

5 2
0 0 4 4
10000
00000
00100
00000
00101

예제 출력 1

YES
문제를 만든 사람
김승현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
8408🥇
박현민
C++3ms2172KB1806B
8299🥈
Flying_Spaghetti_Monster
C++3ms2172KB1803B
7929🥉
Fine_Tuning
C++4ms2172KB2088B
83574
김승현
PyPy57ms70408KB1204B
82325
진하김
Java68ms51192KB3018B
83166
조서현
PyPy87ms83008KB1180B
난이도 투표
Gold II3명 투표· 11일 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8408
맞았습니다
C++3ms2172KB1806B2026. 05. 26. 07:00
8357
맞았습니다
PyPy57ms70408KB1204B2026. 05. 26. 03:06
8320
맞았습니다
C++3ms2172KB1806B2026. 05. 26. 01:39
8319
틀렸습니다
C++--1819B2026. 05. 26. 01:39
8316
맞았습니다
PyPy87ms83008KB1180B2026. 05. 26. 00:33
8315
맞았습니다
PyPy87ms83420KB1180B2026. 05. 26. 00:25
8314
시간 초과
C++--2370B2026. 05. 25. 23:54
8312
맞았습니다
C++6ms2172KB2094B2026. 05. 25. 21:39
8306
맞았습니다
C++6ms2744KB6951B2026. 05. 25. 17:24
8305
컴파일 에러
C++--6951B2026. 05. 25. 17:23
8304
맞았습니다
C++5ms2168KB3625B2026. 05. 25. 17:19
8303
맞았습니다
C++4ms3708KB1834B2026. 05. 25. 16:48
8302
맞았습니다
C++4ms2172KB1833B2026. 05. 25. 16:47
8301
틀렸습니다
C++--1832B2026. 05. 25. 16:46
8300
맞았습니다
C++3ms2172KB1822B2026. 05. 25. 16:44
8299
맞았습니다
C++3ms2172KB1803B2026. 05. 25. 16:10
8298
맞았습니다
C++4ms2172KB1778B2026. 05. 25. 16:05
8232
맞았습니다
Java68ms51192KB3018B2026. 05. 25. 11:06
8231
맞았습니다
Java70ms51764KB3059B2026. 05. 25. 11:02
8218
맞았습니다
C++4ms2364KB2090B2026. 05. 25. 09:05