Radar Installation POJ - 1328
来源:互联网 发布:哈密顿改良圈算法 编辑:程序博客网 时间:2024/06/06 07:29
Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, locating on the coasting, can only cover d distance, so an island in the sea can be covered by a radius installation, if the distance between them is at most d.
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.
Figure A Sample Input of Radar Installations
The input is terminated by a line containing pair of zeros
3 21 2-3 12 11 20 20 0
Case 1: 2Case 2: 1
#include <iostream>#include <cstdio>#include <cmath>#define MAX 1010struct node{ double x,y,l,r;}a[MAX],temp;int main(){ int n; double r; int num=0; while(~scanf("%d %lf",&n,&r)) { num++; int flag=1; if(n==0&&r==0) break; for(int i=1;i<=n;i++) { scanf("%lf %lf",&a[i].x,&a[i].y); a[i].l=a[i].x-sqrt(r*r-a[i].y*a[i].y); a[i].r=a[i].x+sqrt(r*r-a[i].y*a[i].y); if(a[i].y>r) { flag=0;//此次尽量不标break,没有输入完 } } if(flag==0) { printf("Case %d: -1\n",num); continue; } for(int i=1;i<=n;i++) { for(int j=1;j<=n-1;j++) { if(a[j].x>a[j+1].x) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } int ans=1,pos=1; for(int i=2;i<=n;i++) { if(a[pos].r<a[i].l) { ans++; pos=i; } else if(a[i].r<a[pos].r)//当范围在其最右端的左边切记,考虑全面 { pos=i; } } printf("Case %d: %d\n",num,ans); } return 0;}
- POJ 1328 "Radar Installation"
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- 1328 poj Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- poj 1328 Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- poj 1328 Radar Installation
- POJ-1328-Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- 通过字节流来对文件进行读写操作
- hibernate 映射关系
- 1024. 科学计数法 (20)
- CSS盒子模型
- 【The Most Important】浅谈JSP表单Post方式中文乱码问题
- Radar Installation POJ - 1328
- 1078. Hashing (25) PAT甲级
- 1025. 反转链表 (25)
- Unity3D协程介绍 以及 使用
- 在MyEclipse下关联jar源代码
- Cornfields POJ - 2019
- 旋转卡壳,凸包直径(正方形,LA 4728)
- 【初码干货】关于.NET玩爬虫这些事
- 再也不用CSDN了!!!!!!