문제
남극의 펭귄, 팽수의 꿈은 하늘을 나는 것이다.
그 꿈을 이루기 위해 팽수는 최신 VR기기인 치타퀘스트3를 이용하여 비행 연습을 하고 있다.
VR 세계는
x 좌표는 왼쪽 끝로부터의 거리y 좌표는 앞쪽 끝으로부터의 거리z 좌표는 높이를 나타낸다.
일부 단위 큐브 공간은 구름이 끼어 있다.
팽수는 구름을 무서워 하기에 구름이 없는 공간에서 비행 연습을 하고 싶어한다.
팽수는 초기에
팽수는 현재 어느 한 축과 완벽히 평행한 방향으로 비행하는 기술을 가지고 있으며 한 번의 날개짓으로 최대 하나의 단위 큐브를 이동할 수 있다.
목적지에 도달하기 위해 필요한 날개짓 수를 구하라.
입력
첫 줄에 VR 세계의 크기인 정수
두 번째 줄에 팽수의 시작 위치
세 번째 줄에 팽수의 목적 위치
이어서
i번째 2차원 공간의 좌상단 좌표는
2차원 공간의 행과 열은 각각 x,y에 해당한다.
'0'은 구름이 없는 단위 큐브, '1'은 구름이 있는 단위 큐브를 의미한다.
팽수의 시작 위치와 목적 위치에는 구름이 없다.
출력
팽수가 목적 위치에 도달하기 위해 해야 할 최소 날개짓의 수를 출력한다. 만약 도달할 수 없다면 '-1'을 출력한다.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 10점 | |
#2 | 23점 | 구름이 없다. |
#3 | 31점 | z좌표가 1보다 큰 모든 위치에는 구름이 있다. |
#4 | 36점 | 추가 제약 조건 없음. |
예제1
2
1 1 1
1 1 2
00
10
01
00
1
팽수는 z축 방향으로 한번의 날개짓으로 목표 위치에 도달할 수 있다.
예제2
3
2 3 1
1 1 1
000
010
000
111
111
111
111
111
111
3
예제3
3
2 1 1
3 2 2
000
010
110
010
001
001
101
110
000
3
팽수는 (2,1,2) 위치로 이동한 다음 (2,2,2)로 이동하고 마지막으로 (3,2,2)로 이동하여 세 번의 날개짓으로 도달할 수 있다.