nyoj Radar
来源:互联网 发布:遗传算法解决优化问题 编辑:程序博客网 时间:2024/06/06 20:36
We use Cartesian coordinate system, defining the coasting is the x-axis. The sea side is above x-axis, and the land side below. Given the position of each island in the sea, and given the distance of the coverage of the radar installation, your task is to write a program to find the minimal number of radar installations to cover all the islands. Note that the position of an island is represented by its x-y coordinates.
- 输入
- The input consists of several test cases. The first line of each case contains two integers n (1<=n<=1000) and d, where n is the number of islands in the sea and d is the distance of coverage of the radar installation. This is followed by n lines each containing two integers representing the coordinate of the position of each island. Then a blank line follows to separate the cases.
The input is terminated by a line containing pair of zeros - 输出
- For each test case output one line consisting of the test case number followed by the minimal number of radar installations needed. "-1" installation means no solution for that case.
- 样例输入
3 21 2-3 12 11 20 20 0
- 样例输出
Case 1: 2Case 2: 1
贪心算法,先将所有的点转化成区间,对区间左点排序,比较。。。代码:#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;struct readar{double left;double right;}s[1500];bool cmp(readar x,readar y){if(x.right<y.right) return true;return false;} int main(){int n;double a,r,b;int i,j,k;double num,t;int cas=1;while(~scanf("%d%lf",&n,&r),n!=0&&r!=0){int flag=0;for(i=0;i<n;i++){scanf("%lf%lf",&a,&b);if(r<b){flag=1;continue;}num=sqrt(r*r-b*b);s[i].left=a-num;s[i].right=a+num;}sort(s,s+n,cmp);int ans=1;t=s[0].right;for(i=1;i<n;i++){if(s[i].left>t){ans++;t=s[i].right;}} if(flag)printf("Case %d: -1\n",cas++);elseprintf("Case %d: %d\n",cas++,ans);} return 0;}
0 0
- nyoj Radar
- NYOJ Radar
- NYOJ 287 Radar
- radar nyoj 287
- nyoj 287 Radar
- NYOJ-287 Radar
- NYOJ 287 Radar
- NYOJ-287 Radar(贪心)
- nyoj 287 Radar 【区间选点】
- poj 1328 Radar Installation(nyoj 287 Radar):贪心
- POJ&&NYOJ--1328题Radar Installation
- nyoj 287 radar (区间选点)
- NYOJ 287 Radar 贪心之 区间选点
- NYOJ Radar 贪心之区间选点问题
- poj 1328 && nyoj 287 Radar Installation【贪心】
- nyoj 题目287 Radar 贪心算法
- radar
- Radar
- conversion to dalvik format failed with ...
- 第十二周项目四 银行系统
- SQL基本语法(一)
- URI和URL的区别
- R语言重抽样与自助法
- nyoj Radar
- R语言广义线性模型
- 最小生成树之prim算法
- DM8168 DVR RDK nand系统移植
- 一个人,如果你不逼自己一把,你根本不知道自己有多优秀
- centOS6 php 编译 imap 模块
- Java中的MD5加密算法完整版
- java和jsp中文编码问题的解决方法(ISO8859_1、GBK、UTF-8)
- 偶数求和