군도
면접 대비시간 제한2초메모리 제한1024 MB
n개 섬의 좌표와 배의 항속 거리 d가 주어질 때, 각 섬에서 길이 d 이하의 이동을 여러 번 거쳐 도달할 수 있는 섬의 수를 구해 순위를 매긴다.
문제
여러분이 다니는 회사 BGO(Boats to Get Out)가 최근 새로운 군도를 발견했고, 이곳은 관광지로 개발하기에 안성맞춤이다. 섬들이 모두 아주 작아서 이 지역의 거의 모든 교통을 배로 처리할 여지가 충분하다.
안타깝게도 섬들이 너무 먼 바다에 있어서, BGO가 제공하는 표준 보트로는 본토에서 어떤 섬에도 닿을 수 없다. 보트는 연료를 가득 채워도 킬로미터밖에 갈 수 없기 때문이다. 따라서 이 군도에 접근하려면 섬 하나에 공항을 지어야 한다. 그런데 공항을 어디에 세워야 할까?
BGO 사장은 여러분에게 모든 섬을 공항 효용이 높은 순서에서 낮은 순서로 나열하라고 지시했다. 어떤 섬의 공항 효용이란, 그 섬에서 출발해 다른 섬들에서 중간 기착으로 연료를 보충하면서 배로 도달할 수 있는 섬의 수로 정의된다.
입력
첫째 줄에 공백으로 구분된 두 정수 과 이 주어진다. 은 섬의 수, 는 보트가 연료를 보충하기 전까지 갈 수 있는 거리를 킬로미터 단위로 나타낸다. 섬의 이름은 부터 까지이다. 다음 개의 줄에 섬의 위치가 주어진다. 번째 줄에는 공백으로 구분된 두 정수 과 이 주어지며, 이는 섬 의 좌표를 나타낸다.
출력
공항 효용이 높은 순서에서 낮은 순서로 섬을 나열한 개의 정수를 공백으로 구분해 한 줄에 출력한다. 공항 효용이 같은 섬이 여러 개라면, 공항 효용이 비증가하기만 하면 어떤 순서로 출력해도 된다.