亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

POJ1328Radar Installation

系統 1671 0

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

題的大意就是說在海里有小島,坐標位置會給出,需要岸邊的雷達覆蓋所有的小島,但雷達的覆蓋范圍有限,所以,需要最少的雷達覆蓋所有的小島,但若是有小島沒法被雷達給覆蓋到,就輸出-1;

?

?

POJ1328Radar Installation 這個題的話可以轉化成區間問題就是看雷達的覆蓋范圍作為半徑,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

?

?

POJ1328Radar Installation


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久亚洲精品中文字幕亚瑟 | 日夜夜操 | 日韩欧美在线综合网高清 | 国产1区精品| 免费观看一级特黄三大片视频 | 欧美激情影院 | 亚洲一区二区精品视频 | 国产人成精品综合欧美成人 | 国产玖玖视频 | 亚洲视频456 | 91国高清视频 | 亚洲精品www久久久久久久软件 | 九九在线观看免费视频 | 老司机精品视频个人在观看 | 99re这里只有精品在线观看 | 免费两性的视频网站 | 亚洲自拍成人 | 国内精品久久久久久久久久影视 | 91精品国产闺蜜国产在线 | 国产男女在线观看 | 国产欧美日韩一区二区三区视频 | 国产精品成人在线 | 欧美日韩日本国产 | 久久国产乱子伦精品免费看 | 国产精品久久久久天天影视 | 国产成人免费a在线视频色戒 | 日欧毛片 | 99re这里有免费视频精品 | 国产精品三 | 精品国产不卡一区二区三区 | 国产亚洲欧美一区二区三区 | 99久久99热久久精品免 | 美女久久久久 | 91系列在线观看 | 91精品国产91久久久久久青草 | 国产最新精品 | 在线免费亚洲 | 欧美成人三级一区二区在线观看 | 国产精品久久久久久免费播放 | 国产香蕉75在线播放 | 四虎国产精品免费观看 |