<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      POJ 1113 凸包 graham


      題目:http://poj.org/problem?id=1113
      大意:求出凸包的周長,再加上一個圓的周長就是本問題的答案。

      這個問題沒有任何的難度,直接采用現成的模板就可以了。
      View Code
      #include "iostream"
      #include "cstdio"
      #include "cmath"
      #include "algorithm"
      using namespace std;
      const double PI=acos(-1.0);
      const int size=1005;
      const double eps=1e-8;
      struct Point
      {
          int x, y;
      }p[size];
      int s[size], top;
      int zfcmp(int d)
      {
          if(abs(d) < eps) return 0;
          return d>0?1:-1;
      }
      bool cmp(Point p1, Point p2)
      {
          if(p1.y==p2.y) return p1.x<p2.x; //這里一定是p1.x<p.x, 不能是p1.x-p2.x
          else return p1.y<p2.y;
      }
      int cross(Point c, Point a, Point b) //c是s[top-1], a是p[i], b是s[top]
      {
          return (a.x-c.x)*(b.y-c.y)-(b.x-c.x)*(a.y-c.y);
      }
      double dis(Point a, Point b)
      {
          return sqrt(0.0+(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
      }
      void graham_scam(int n)
      {
          int i, t;
          sort(p, p+n, cmp);
          top = -1;
          s[++top] = 0;
          s[++top] = 1;
          for(i=2; i<n; i++)
          {
              while(top>=1 && zfcmp( cross(p[s[top-1]], p[i], p[s[top]]) )>=0 )
                  top--;
              s[++top] = i;
          }
          t = top;
          s[++top] = n-2;
          for(i=n-3; i>=0; i--)
          {
              while(top>=t+1 && zfcmp( cross(p[s[top-1]], p[i], p[s[top]]) )>=0 )
                  top--;
              s[++top] = i;
          }
      }
      int main()
      {
          int i, n, l;
          double ans;
          while(cin>>n>>l)
          {
              for(i=0; i<n; i++)
                  cin>>p[i].x>>p[i].y;
              graham_scam(n);
              ans = 0.0;
              for(i=0; i<top; i++)
                  ans+=dis(p[s[i]], p[s[i+1]]);
              ans+=2*PI*l;
              printf("%0.f\n",ans);
          }
          return 0;
      }
      
      

       

       

      posted on 2011-11-15 21:51  More study needed.  閱讀(237)  評論(0)    收藏  舉報

      導航

      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      主站蜘蛛池模板: 人妻少妇偷人精品一区| 亚洲国产无套无码av电影| 人妻少妇精品系列一区二区| 麻豆国产传媒精品视频| 亚洲人成网7777777国产| 九九热在线视频只有精品| 国产亚洲精品视频一二区| 日韩精品久久久肉伦网站| free性开放小少妇| 免费超爽大片黄| 国产精品美女网站| 大陆精大陆国产国语精品| 久久精品波多野结衣| 18禁网站免费无遮挡无码中文 | 秋霞人妻无码中文字幕| 亚洲夂夂婷婷色拍WW47| 日本熟妇XXXX潮喷视频| 精品国产中文字幕在线看| 亚洲熟妇精品一区二区| 亚州少妇无套内射激情视频| 天天澡天天揉揉av无码| 成人免费A级毛片无码片2022| 国产人妻精品一区二区三区不卡| 色婷婷欧美在线播放内射| 少妇高潮水多太爽了动态图| 天堂在线www天堂中文在线| 国产自拍在线一区二区三区| 国产精品天天看天天狠| 午夜福利伦伦电影理论片在线观看| 日韩av在线不卡一区二区| 国内精品免费久久久久电影院97 | 少妇无码AV无码专区| 深夜在线观看免费av| 久久精品熟女亚洲av麻| 老鸭窝| 免费无码黄网站在线观看| 久久国产精品精品国产色| ww污污污网站在线看com| 亚洲午夜激情久久加勒比| 麻豆成人精品国产免费| 温州市|