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

这是一个关于灯塔游戏的问题,目标是在二维平面上用最少的灯塔覆盖所有位于x轴上的恶魔队伍。给定恶魔的数量和灯塔的监控距离,需要找出能覆盖所有队伍的最小灯塔数。若无法覆盖所有队伍,则输出-1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

灯塔的游戏

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 Output

Case 1: 2
Case 2: 1

AC:


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值