만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

군도

면접 대비

시간 제한2초메모리 제한1024 MB

요약
n개 섬의 좌표와 배의 항속 거리 d가 주어질 때, 각 섬에서 길이 d 이하의 이동을 여러 번 거쳐 도달할 수 있는 섬의 수를 구해 순위를 매긴다.
난이도

보통10점 중 4점

유형
그래프, 유니온 파인드, 기하, 정렬
정답자
아직 제출이 없습니다

문제

여러분이 다니는 회사 BGO(Boats to Get Out)가 최근 새로운 군도를 발견했고, 이곳은 관광지로 개발하기에 안성맞춤이다. 섬들이 모두 아주 작아서 이 지역의 거의 모든 교통을 배로 처리할 여지가 충분하다.

안타깝게도 섬들이 너무 먼 바다에 있어서, BGO가 제공하는 표준 보트로는 본토에서 어떤 섬에도 닿을 수 없다. 보트는 연료를 가득 채워도 dd킬로미터밖에 갈 수 없기 때문이다. 따라서 이 군도에 접근하려면 섬 하나에 공항을 지어야 한다. 그런데 공항을 어디에 세워야 할까?

BGO 사장은 여러분에게 모든 섬을 공항 효용이 높은 순서에서 낮은 순서로 나열하라고 지시했다. 어떤 섬의 공항 효용이란, 그 섬에서 출발해 다른 섬들에서 중간 기착으로 연료를 보충하면서 배로 도달할 수 있는 섬의 수로 정의된다.

입력

첫째 줄에 공백으로 구분된 두 정수 1≤n<2 0001 \leq n < 2\,000과 1≤d<1061 \leq d < 10^6이 주어진다. nn은 섬의 수, dd는 보트가 연료를 보충하기 전까지 갈 수 있는 거리를 킬로미터 단위로 나타낸다. 섬의 이름은 11부터 nn까지이다. 다음 nn개의 줄에 섬의 위치가 주어진다. ii번째 줄에는 공백으로 구분된 두 정수 0≤xi<1070 \leq x_i < 10^{7}과 0≤yi<1070 \leq y_i < 10^{7}이 주어지며, 이는 섬 ii의 좌표를 나타낸다.

출력

공항 효용이 높은 순서에서 낮은 순서로 섬을 나열한 nn개의 정수를 공백으로 구분해 한 줄에 출력한다. 공항 효용이 같은 섬이 여러 개라면, 공항 효용이 비증가하기만 하면 어떤 순서로 출력해도 된다.

예제2

  1. 예제 1

    입력
    7 3
    1 1
    3 2
    2 3
    4 2
    12 5
    13 7
    11 6
    
    예상 출력
    1 2 3 4 5 6 7
    
  2. 예제 2

    입력
    3 4
    2 5
    5 0
    4 4
    
    예상 출력
    1 3 2