시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 512 MB | 208 | 46 | 35 | 20.349% |
$N \times N$ 체스판에서의 전쟁 중 상대 나라의 압도적인 병력탓에 준웅나라에는 폰 병사인 선우 혼자만 남게 되었다. 홀로 남게 된 준웅나라의 폰선우는 이러한 절체절명의 위기 속에서 각성하였다! 각성한 폰선우는 한 턴에 다음과 같은 과정을 수행한다.
폰선우는 이러한 각성 능력을 이용하여 상대 킹을 잡으러 가야 한다. 상대의 말에는 다음과 같은 종류가 있다.
대각 이동도 한 칸이라고 친다. 예를 들어 나이트는 상하좌우 중 $1$칸, 대각 $1$칸을 이동하기 때문에 무조건 한 번에 $2$칸씩 이동한다.
폰선우는 한 번 능력을 빼앗아 돌이 된 말에게서 다시 능력을 빼앗을 수 없다. 폰선우는 현재 능력이 나이트인 경우를 제외하면 다른 말들 및 돌이 된 말을 뛰어넘을 수 없다.
폰선우가 한 턴만에 상대 킹을 잡을 수 있다면, 최소 칸 수를 이동하여 상대 킹을 잡을 수 있도록 도와주자. 킹을 잡을 수만 있다면, 체스판에 다른 말들이 남아있어도 상관이 없다.
첫째 줄에 $N$($2 \le N \le 1\,000$)이 주어진다.
둘째 줄부터는 $N$줄에 걸쳐 줄마다 $N$개의 문자가 공백으로 구분되어 주어진다. 이때 0
은 빈칸, Q
는 퀸, R
는 룩, B
는 비숍, N
은 나이트, K
는 킹, P
는 폰선우를 의미한다.
킹과 폰선우는 무조건 한 개 존재하고, 퀸은 왕비로서 최대 $1$개만 존재한다.
첫째 줄에 폰선우가 상대 킹을 한 턴 만에 잡을 수 있다면, 최소 몇 칸을 이동하여 잡을 수 있는지를 출력하고, 한 턴 만에 잡을 수 없다면, -1
을 출력한다.
6 P 0 B 0 0 0 0 Q 0 0 0 0 0 0 0 0 N 0 0 0 0 0 0 0 0 R 0 0 0 K 0 0 0 0 0 0
6
먼저 폰선우가 퀸의 위치로 이동하고, 초록색 화살표 방향대로 움직인다면 총 $8$칸을 이동하게 되고, 파란색 화살표 방향대로 움직인다면 총 $6$칸을 이동하게 되므로, 정답은 $6$이 된다.
6 P R 0 0 R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 0 0 0 0 0 0 0 0 0 0 R 0 N K
-1
5 0 B B B 0 0 B K B 0 0 0 B B 0 0 0 0 N 0 0 0 0 0 P
3