(贪心+排序)poj1328 Radar Installation
2013-08-08 00:43
274 查看
题目:点击打开链接
以小岛为圆心,以给定的最大覆盖半径为圆的半径,交x轴于2点(或1点),产生一个个区间,该区间为海岸上雷达的位置范围,然后将区间排序,计算独立区间数,即为最少雷达数。。。
下面是AC代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,j;
int count;
int num=0;
double begin[1000+10],end[1000+10],begin_start,end_start;
double r,x,y;
while(scanf("%d %lf",&n,&r)!=EOF)
{
int flag=0;
num++;
if(n==0 && r==0) break;
for(i=0;i<n;i++)
{
scanf("%lf %lf",&x,&y);
if(y>r) {flag=1;continue;}
begin[i]=x-sqrt(r*r-y*y);
end[i]=x+sqrt(r*r-y*y);
}
if(flag==1)
{printf("Case %d: %d\n",num,-1);continue;}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(begin[j]>begin[j+1])
{
double temp;
temp=begin[j];begin[j]=begin[j+1];begin[j+1]=temp;
temp=end[j];end[j]=end[j+1];end[j+1]=temp;
}
end_start=end[0];
count=1;
for(i=1;i<n;i++)
{
if(begin[i]>end_start)
{
count++;
end_start=end[i];
}
else if(end[i]<end_start)
{
end_start=end[i];
}
}
printf("Case %d: %d\n",num,count);
}
return 0;
}
以小岛为圆心,以给定的最大覆盖半径为圆的半径,交x轴于2点(或1点),产生一个个区间,该区间为海岸上雷达的位置范围,然后将区间排序,计算独立区间数,即为最少雷达数。。。
下面是AC代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,j;
int count;
int num=0;
double begin[1000+10],end[1000+10],begin_start,end_start;
double r,x,y;
while(scanf("%d %lf",&n,&r)!=EOF)
{
int flag=0;
num++;
if(n==0 && r==0) break;
for(i=0;i<n;i++)
{
scanf("%lf %lf",&x,&y);
if(y>r) {flag=1;continue;}
begin[i]=x-sqrt(r*r-y*y);
end[i]=x+sqrt(r*r-y*y);
}
if(flag==1)
{printf("Case %d: %d\n",num,-1);continue;}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(begin[j]>begin[j+1])
{
double temp;
temp=begin[j];begin[j]=begin[j+1];begin[j+1]=temp;
temp=end[j];end[j]=end[j+1];end[j+1]=temp;
}
end_start=end[0];
count=1;
for(i=1;i<n;i++)
{
if(begin[i]>end_start)
{
count++;
end_start=end[i];
}
else if(end[i]<end_start)
{
end_start=end[i];
}
}
printf("Case %d: %d\n",num,count);
}
return 0;
}
相关文章推荐
- poj 1328 Radar Installation 排序贪心
- POJ 1328(排序+贪心)
- POJ 1328(贪心)
- POJ - 1328 Radar Installation(区间点覆盖问题,贪心)
- poj 1328 && nyoj 287 Radar Installation【贪心】
- △POJ1328--Radar Installation(贪心)
- poj 1328 Radar Installation (贪心)@
- POJ 1328 Radar Installation 贪心题解
- poj 1328 贪心
- POJ1328 区间选点问题(贪心)
- POJ-1328(贪心)
- poj_1328 贪心
- POJ 1328 Radar Installation 贪心
- POJ 1328 Radar Installation(区间覆盖、贪心)
- poj 1328 我的贪心第一题 爽!!!!!!
- POJ--1328:Radar Installation (贪心)
- poj1328_Radar Installation(贪心区间解决)
- poj 1328 Radar Installation 贪心
- poj 1328 Radar Installation【贪心】
- POJ 1328 Radar Installation【贪心】