Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB
统计

题目描述

某个国家在一条笔直的高速公路两侧分布着多个小镇,这些小镇位于高速公路北侧的平原上,且每个小镇的位置可以表示为平面直角坐标系中的一个点。政府计划在高速公路(即 x轴)上的适当位置安装尽量少的天线,每个天线的信号覆盖范围为 d。
请你计算在高速公路上至少需要安装多少个天线,才能保证所有小镇都在至少一个天线的覆盖范围内。
天线的信号范围为一个以天线位置为圆心、半径为 d 的圆形区域,小镇的距离必须小于等于 d,才能被一个天线覆盖。
注意: 如果存在无法覆盖所有小镇的情况,输出 -1。

输入格式:

第一行包含两个整数 n 和 d,分别表示小镇的数量和每个天线的信号覆盖范围。
接下来的 n 行,每行两个整数 xi 和 yi ,表示第 i 个小镇在平面直角坐标系中的位置。

输出格式:

输出一个整数,表示最少需要的天线数量。如果无法覆盖所有小镇,输出 -1。

输入样例#1:

4 3
1 2
-2 1
3 3
0 1

输出样例#1:

2

数据范围

对于全部数据,$n\le1000$,$ d \le 2\times 10^4$,$ | x_i | \le 2 \times 10^6 $,$ 0 \le y_i \le 2\times 10^4$。