zoukankan      html  css  js  c++  java
  • pojRadar Installation(贪心)

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

    以每个点为圆心 d为半径 画圆 记录与x轴交出的区间 就变成区间覆盖的问题了 贪心 若区间有重叠 区间重叠的地方放一个雷达就可以覆盖这几个区间的点了

    把该换成double 的数都换成double 这里WA了n次啊

    View Code
     1 #include<stdio.h>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cmath>
     5 using namespace std;
     6 struct node
     7 {
     8     double d1,d2;
     9 }q[10011];
    10 bool cmp(node a,node b)
    11 {
    12     if(a.d1==b.d1)
    13         return a.d2<b.d2;
    14     else
    15         return a.d1<b.d1;
    16 }
    17 int main()
    18 {
    19     int i,j,n,num,kk =0 ;
    20     double k,d,a,b;
    21     while(scanf("%d%lf",&n,&d)!=EOF)
    22     {
    23         if(n==0&&d==0.0)
    24             break;
    25         kk++;
    26         int flag = 1;
    27         num = 1;
    28         if(d<0)
    29             flag = 0;
    30         for(i = 1 ;i <= n ; i++)
    31         {
    32             scanf("%lf%lf",&a,&b);
    33             if(b<0)
    34                 flag = 0;
    35             if(b>d)
    36                 flag = 0;
    37             q[i].d1 = a*1.0-sqrt(d*d-b*b);
    38             q[i].d2 = a*1.0+sqrt(d*d-b*b);
    39         }
    40         printf("Case %d: ",kk);
    41         if(flag==0)
    42         {
    43             printf("-1\n");
    44             continue;
    45         }
    46         sort(q+1,q+n+1,cmp);
    47         k = q[1].d2;
    48         for(i = 2 ; i <= n ; i++)
    49         {
    50             if(q[i].d1>k)
    51             {
    52                 num++;
    53                 k = q[i].d2;
    54             }
    55             else
    56             if(q[i].d2<k)
    57                 k = q[i].d2;
    58         }
    59         printf("%d\n",num);
    60     }
    61     return 0;
    62 }
  • 相关阅读:
    CPP标准模板库 随笔
    C++ Concurrency In Action 一些重点
    标准模板库(STL)
    单链表常见操作
    android三大组件之Intent
    数组k平移三种方法(java)
    java中空字符串、null的区别
    java最大最小堆
    java学习笔记之基础知识
    笔试题集锦
  • 原文地址:https://www.cnblogs.com/shangyu/p/2645672.html
Copyright © 2011-2022 走看看