아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

레이더 설치

면접 대비

시간 제한1초메모리 제한128 MB

요약
해안선 위에 설치하는 반지름 d인 레이더로 바다 쪽 모든 섬을 덮을 때 필요한 최소 설치 개수를 구하고, 닿을 수 없는 섬이 있으면 -1을 출력한다.
난이도

보통10점 중 5점

유형
그리디, 구간, 정렬, 기하
정답자
아직 제출이 없습니다

문제

해안선을 무한히 뻗은 직선이라고 가정합니다. 해안선의 한쪽은 육지이고, 반대쪽은 바다입니다. 각 섬은 바다 쪽에 있는 하나의 점입니다. 해안선 위에 설치한 레이더는 거리 dd까지만 탐지할 수 있으므로, 어떤 섬과 레이더 사이의 거리가 dd 이하이면 그 섬은 해당 레이더로 탐지됩니다.

직교 좌표계를 사용하며, 해안선을 x축으로 둡니다. 바다는 x축 위쪽(yy가 양수), 육지는 x축 아래쪽입니다. 바다에 있는 각 섬의 위치와 레이더의 탐지 거리 dd가 주어질 때, 모든 섬을 탐지하는 데 필요한 레이더의 최소 개수를 구하는 프로그램을 작성하세요. 각 섬의 위치는 x, y 좌표로 주어집니다.

그림 A. 레이더 설치 입력 예시

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 케이스의 첫 줄에는 두 정수 nn (1≤n≤10001 \le n \le 1000)과 dd가 주어집니다. nn은 바다에 있는 섬의 개수, dd는 레이더의 탐지 거리입니다. 이어지는 nn개의 줄에는 각 섬의 좌표를 나타내는 두 정수가 주어집니다. 연속한 케이스 사이는 빈 줄 하나로 구분됩니다.

입력의 끝은 두 정수가 모두 0인 줄(0 0)로 표시됩니다.

출력

각 테스트 케이스마다 Case x: y 형식으로 한 줄에 출력합니다. 여기서 x는 테스트 케이스 번호(1부터 시작), y는 필요한 레이더의 최소 개수입니다. 모든 섬을 탐지할 수 없는 경우에는 y 대신 -1을 출력합니다.

예제1

  1. 예제 1

    입력
    3 2
    1 2
    -3 1
    2 1
    
    1 2
    0 2
    
    0 0
    
    예상 출력
    Case 1: 2
    Case 2: 1