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

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條評論
主站蜘蛛池模板: 综合色网站 | 亚洲国产女人aaa毛片在线 | 亚洲成人手机在线观看 | 两个人高清视频图片中文字幕 | 玖玖爱精品 | 四虎影院永久 | 精品视频 久久久 | 99国产超薄丝袜足j在线播放 | 91久久线看在观草草青青 | 一级特黄aaaaaa大片 | 在线亚洲小视频 | 国产精品视频国产永久视频 | 国产真实强j视频在线观看 国产真实偷乱视频在线观看 | 伊人久久大香线蕉亚洲 | 国产精品久久久久毛片真精品 | 亚洲精品乱码久久久久久蜜桃 | 久久精品国产99久久久 | 成人久久精品一区二区三区 | 美女视频黄的免费视频网页 | 久久精品国产波多野结衣 | 色综合网站国产麻豆 | 日韩三级一区二区 | 亚洲综合一区二区精品久久 | 精品国产一二三区 | 国产青草亚洲香蕉精品久久 | 四虎国产成人免费观看 | 92在线视频 | 亚洲一区综合在线播放 | 亚洲 国产 路线1路线2路线 | 色综合久久98天天综合 | 毛片毛片毛片毛片出来毛片 | 99这里只有精品 | 久久国产影院 | 日日干日日摸 | 尹人视频在线观看 | 免费国产97久久青草 | 日本一级毛片 | 四虎影视最新 | 九九夜色| 色爽女| 91国语精品自产拍在线观看一 |