zoukankan      html  css  js  c++  java
  • POJ1328Radar Installation

    http://poj.org/problem?id=1328

    题的大意就是说在海里有小岛,坐标位置会给出,需要岸边的雷达覆盖所有的小岛,但雷达的覆盖范围有限,所以,需要最少的雷达覆盖所有的小岛,但若是有小岛没法被雷达给覆盖到,就输出-1;

    这个题的话可以转化成区间问题就是看雷达的覆盖范围作为半径,A若是小岛的位置,根据雷达的覆盖范围只要不小于这个点的Y坐标,那个覆盖范围就是这个三角形的斜边,所以只要雷达位于1,2边上就可以覆盖到这个小岛

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<cstdlib>
     5 #include<cmath>
     6 #include<algorithm>
     7 using namespace std ;
     8 struct node
     9 {
    10     double x,y;
    11 } s[10001];
    12 int cmp(struct node a,struct node b)
    13 {
    14     if(a.y< b.y)
    15         return 1;
    16     else return 0 ;
    17 }
    18 int main()
    19 {
    20     int n,d ;
    21     int cnt = 1;
    22     while(cin>>n>>d)
    23     {
    24 
    25         int flag = 0 ;
    26         if(n == 0&&d == 0) break ;
    27         double a,b ;
    28         for(int i = 1 ; i <= n ; i++)
    29         {
    30             scanf("%lf %lf",&a,&b);
    31             if(fabs(b) > d)
    32                 flag = 1 ;
    33             s[i].x = a-sqrt(d*d-b*b);
    34             s[i].y = a+sqrt(d*d-b*b);
    35         }
    36         cout<<"Case"<<' '<<cnt<<':'<<' ';
    37         if(flag == 1)
    38             cout<<"-1"<<endl ;
    39         else
    40         {
    41             sort(s+1,s+1+n,cmp);
    42             int sum = 1;
    43             double zhizhen = s[1].y;
    44             for(int i = 2 ; i <= n ; i++)
    45             {
    46                 if(s[i].x>zhizhen)
    47                 {
    48                     sum++;
    49                     zhizhen = s[i].y;
    50                 }
    51             }
    52 
    53             cout<<sum<<endl;
    54         }
    55         cnt++;
    56     }
    57     return 0;
    58 }
    View Code
  • 相关阅读:
    xargs命令
    grep命令详细解析 --非原创 原作者ggjucheng
    centos如何安装Python3
    Custom Draw 基础(转载)
    Make 命令教程(转载)
    选择Blobs (Evision)
    图像预处理(Evision)
    一个野生程序员开博日
    Ubuntu 14.04 apt源更新
    python核心编程3-13
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3239360.html
Copyright © 2011-2022 走看看