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

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條評論
主站蜘蛛池模板: 精品99久久 | 青青青草视频在线观看 | 日日噜噜噜夜夜爽爽狠狠图片 | 五月激情综合网 | 99视频精品免费99在线 | xxxx免费国产在线视频 | 在线观看中文字幕第一页 | 黄色毛片免费 | 成人毛片免费观看视频大全 | 亚洲国产精品a一区 | 69日本人xxxx16-18 | 视色视频在线 | 色视在线 | 北岛玲日韩精品一区二区三区 | 精品久久久一二三区 | 在线国产视频一区 | 免费成人毛片 | 伊人中文字幕 | 久久精品国产精品亚洲精品 | 国内精品区一区二区三 | 青青草免费视频在线播放 | 久草精彩视频 | 国产一区日韩二区欧美三 | 日韩中文字幕精品久久 | 黑人边吃奶边扎下面激情视频 | 亚洲高清一区二区三区久久 | 久久精品国产亚洲高清 | 欧美激情精品久久久久久不卡 | 久久综合给合久久狠狠狠97色 | 伊人久热这里只有精品视频99 | 国产在线播放一区二区 | 性a爱片免费视频性 | 老司机一级毛片 | 天天天天躁天天天天碰 | 久久美女免费视频 | 国产欧美日韩免费一区二区 | 男女车车好快的车车免费网站 | 在线看欧美三级中文经典 | 在线播放 亚洲 | 国产高清一区二区三区四区 | www.四虎网站|