贪心算法解决最少圆覆盖最多点问题

灯塔的游戏

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)

Total Submission(s) : 19   Accepted Submission(s) : 6

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

某学长最近迷上了一个灯塔的游戏,规则如下:
在一个二维的平面里,x轴与y轴划分,x轴上可以放置灯塔,这个二维的平面上存在恶魔队伍,
他们可以在二维平面上的任意的位置!!!你需要做的就是监听到他们的情况!!!
只能在x轴上(x,0)建立灯塔去监控所以的敌方队伍,一定是所有的队伍!!!
请你计算出最少的灯塔数,可以完成监听所以的恶魔队伍。

Input

先输入一个整数t(0<t<40),表示共有有t组测试数据.
对于每组测试数据
第一个输入整数n,d; n表示的是恶魔的队伍数量,d表示的是灯塔监听的距离 1<=n,<=1000;0<=d<=1000;
接下来n行,有两个整数:a,b。代表的是每个恶魔队伍的位置。 -1000<=a,b<=1000;

Output

对于每组样例,你需要帮助某学长计算出最少的灯塔数,保证可以监控所以敌方队伍。如果无法监视所有敌方队伍,输出-1

Sample Input

2
3 2
1 2
3 1
2 1

3 2
1 1
2 2
0 0

Sample O

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值