드론 격파
면접 대비시간 제한2초메모리 제한1024 MB
n개의 드론 위치가 주어질 때, 매 격추 후 드론이 8방향으로 한 칸씩 움직이며 원점에 도달하지 못하도록 격추 순서를 구합니다. 불가능하면 -1을 출력합니다.
문제
Ralph가 게임에서 탈출하자 그를 찾기 위해 대의 특수 훈련된 드론이 파견되었다. 하지만 Ralph는 쉽게 잡히지 않는 인물이라, 손에 터렛을 들고 방어 진지를 세웠다.
Ralph는 상황을 주의 깊게 살펴본 뒤, 자신이 있는 원점 을 기준으로 좌표 평면을 놓고 번째 드론이 점에 있다는 것을 알아냈다. 그런데 정찰하는 사이에 드론들이 그를 발견했다. 이제 행동해야 한다. Ralph는 1초마다 터렛으로 드론 한 대를 맞힐 수 있다. 맞힌 뒤 살아남은 드론은 가로, 세로, 대각선으로 인접한 8개의 점 중 어디로든 이동할 수 있다. 이동한 드론들은 같은 좌표에 겹칠 수도 있다.
드론의 목표는 원점 의 Ralph에게 도달하는 것이고, Ralph의 목표는 드론이 도달하기 전에 모두 맞히는 것이다. Ralph는 한 번도 빗나가지 않으며 매 발사마다 드론 한 대를 정확히 맞힌다고 보장한다. 어떤 드론도 원점에 도달하지 못하도록 드론을 맞히는 순서를 알려 주어라. 그렇게 할 수 없다면 그 사실을 알려 주어, Ralph가 도망쳐야 함을 알려 주어라.
입력
첫 줄에 드론의 수 이 주어진다 (). 이어지는 개의 줄에는 번째 드론의 좌표 와 가 주어진다 (). 원점 에는 드론이 없다고 보장된다.
출력
1부터 까지의 번호를 Ralph가 쏘아야 할 순서대로 공백으로 구분하여 한 줄에 출력한다. 어떤 드론이든 반드시 원점에 도달하게 된다면 한 줄에 "-1"을 출력한다. 답이 여러 개이면 그중 아무거나 출력해도 된다.