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

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條評論
主站蜘蛛池模板: 精品亚洲无人区一区二区 | 久草视频在线网 | 久久草在线视频播放 | 国产一区2区 | 久草这里只有精品 | 久久中文字幕综合婷婷 | 第一福利在线视频 | 天天射天天怕 | 成人欧美一区在线视频在线观看 | 高清午夜毛片 | 亚洲免费a | 国内精品自在自线香蕉 | 免费的毛片视频 | 欧美日韩免费做爰视频 | 久久久久久久久性潮 | 欧美国产精品久久 | 国产欧美一区二区久久 | 国产成+人+综合+亚洲专 | 老司机免费福利视频无毒午夜 | 午夜精品久久久久久久99热浪潮 | 亚洲狠狠婷婷综合久久久久 | 国产在线精品一区二区 | 涩涩色中文综合亚洲 | 精品乱码一区二区三区四区 | 国产精品国产三级国产无毒 | 日本一级片免费观看 | 99精品国产高清自在线看超 | 欧美中文字幕在线看 | 日韩亚洲一区二区三区 | 久久精品国产亚洲婷婷 | 亚洲成人在线视频播放 | 97综合视频 | 老司机午夜网站 | 久久天天躁狠狠躁夜夜躁综合 | 波多野吉衣一区二区三区在线观看 | 97精品福利视频在线 | 日本亚洲精品久久 | 天天槽天天槽天天槽 | 国产二区精品 | 欧美高清一区二区三 | 在线看国产精品 |