[NOIP2010 普及组] 导弹拦截
题目链接:https://www.luogu.com.cn/problem/P1158
试题分析:
题目思路:我们可以先让第一个拦截系统将所有导弹全部拦截,此时的答案就是第一个系统到最远的点的距离,然后依次去掉最远的导弹让第二个拦截系统拦截,同时注意取最小值,然后再输出最小值就好啦
详细步骤: 1.按照每个导弹到第一个拦截系统的距离(x-x1)^2+(y-y1)^2从小到大排序;
2.然后我们枚举 i,那么此时第一个拦截系统肯定是正好拦截到距离它第 i 远的导弹(比它近的导弹一定也被拦截了),那么此时第一个拦截系统的半径就是距离它第 i 小的导弹的距离;我们只要再找剩下的导弹中距离第二个拦截系统最大的那个导弹的距离作为第二个导弹的半径就好啦;
代码如下:

 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号