소들이 체커에 푹 빠졌지만, 종반전(엔드게임)에는 형편없어서 당신의 도움이 필요합니다.
$N \times N$ 크기의 체커판이 주어집니다 ($4 \le N \le 30$). 놀이에는 어두운 칸만 사용합니다. 각 칸은 다음 중 하나입니다.
- : 사용하지 않는 밝은 칸 (말이 놓이지 않습니다),+ : 비어 있는, 놀이에 쓰이는 어두운 칸,K : 베시(Bessie)의 킹,o : 상대편의 말.다음 차례는 베시입니다. 한 번의 이동에서, 베시의 킹 하나가 대각선 방향의 점프를 연속으로 수행합니다. 점프란 킹이 대각선으로 이동하면서 바로 옆 칸에 놓인 상대편 말을 뛰어넘어, 그 말 바로 너머의 빈 어두운 칸에 착지하는 것으로, 뛰어넘긴 말은 즉시 제거됩니다. 같은 킹은, 각 점프가 빈 어두운 칸에 착지하고 아직 판에 남아 있는 상대편 말을 뛰어넘는 한, 어떤 대각선 방향으로든 계속 점프할 수 있습니다. 킹은 빈 칸이나 다른 킹, 이미 제거된 말을 뛰어넘을 수 없으며, 이미 다른 말이 놓인 칸에는 착지할 수 없습니다.
예를 들어, 말 위쪽에 있는 킹이 상대편 말 o를 뛰어넘어 그 너머의 빈 칸에 착지하며 그 말을 제거합니다.
before after
K +
o +
+ K
킹 하나가 단 한 번의 이동으로 판 위의 모든 상대편 말을 뛰어넘어 제거하여 게임을 끝낼 수 있는지 판단하세요. 그러한 게임을 끝내는 이동이 존재한다면, 그것은 유일함이 보장됩니다. 판에는 항상 킹이 적어도 하나, 상대편 말이 적어도 하나 있습니다.
-, +, K, o 중 하나)가 주어집니다.킹 하나가 단 한 번의 이동으로 게임을 끝낼 수 있다면, 그 킹이 거쳐 가는 칸들을 차례대로 출력합니다. 첫 줄은 시작 칸이고, 그 다음 각 줄은 매 점프 후 착지하는 칸입니다. 각 줄에는 공백으로 구분된 두 정수, 즉 1부터 시작하는 행과 열 번호를 출력합니다. 그러한 게임을 끝내는 이동이 존재하지 않으면 impossible을 출력합니다.