• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594

            PKU 1265 Area---計算幾何

            Posted on 2009-10-02 03:01 Uriel 閱讀(206) 評論(0)  編輯 收藏 引用 所屬分類: POJ計算幾何

            求頂點為整數的任意多邊形內部整點數(Pick定理),邊上整點數(GCD),面積(叉積)

            第一次知道Pick定理。。
            注意。。叉積求出面積可能是負數,需要處理下
            /*Problem: 1265  User: Uriel 
               Memory: 172K  Time: 16MS 
               Language: C++  Result: Accepted
            */


            #include
            <math.h>
            #include
            <stdio.h>
            #include
            <stdlib.h>
            #define MAXN 110
            #define ABS(x) (x<0?-x:x)
            struct point
            {
                
            int x,y;    
            }
            ;

            point P[MAXN],T;

            int t,n,i,EPoint,IPoint,Asum;

            int cross_product(point a,point b)
            {
                
            return a.x*b.y-a.y*b.x;
            }


            int GCD(int x,int y)
            {
                
            if(y==0)return x;
                
            else
                    
            return GCD(y,x%y);
            }


            int main()
            {
                scanf(
            "%d",&t);
                
            for(int i=1;i<=t;i++)
                
            {
                    scanf(
            "%d",&n);
                    Asum
            =0;
                    EPoint
            =0;
                    P[
            0].x=0;
                    P[
            0].y=0;
                    
            for(int j=1;j<=n;j++)
                    
            {
                        scanf(
            "%d %d",&T.x,&T.y);
                        P[j].x
            =P[j-1].x+T.x;
                        P[j].y
            =P[j-1].y+T.y;
                        EPoint
            +=GCD(ABS(T.x),ABS(T.y));
                        Asum
            +=cross_product(P[j-1],P[j]);
                    }

                    
            if(Asum<0)
                    
            {
                        Asum
            =-Asum;
                    }

                    IPoint
            =Asum/2+1-EPoint/2;
                    printf(
            "Scenario #%d:\n%d %d %.1f\n\n",i,IPoint,EPoint,((double)Asum)/2);
                }

            //    system("PAUSE");
                return 0;
            }

            久久精品国产福利国产秒| 亚洲精品成人网久久久久久| 囯产极品美女高潮无套久久久| 久久久久久久久66精品片| 精品国产乱码久久久久软件| 成人妇女免费播放久久久| 久久精品中文字幕有码| 久久青青草原精品国产| 久久高清一级毛片| 久久久久亚洲Av无码专| 久久精品国产亚洲7777| 男女久久久国产一区二区三区| 久久www免费人成精品香蕉| 亚洲精品蜜桃久久久久久| 精品国产婷婷久久久| 久久精品亚洲精品国产色婷| 人妻无码久久精品| 国产精品熟女福利久久AV| 久久婷婷五月综合色奶水99啪| 欧美激情精品久久久久久久九九九| 91精品国产综合久久婷婷| 久久大香萑太香蕉av| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产午夜精品久久久久九九电影 | 成人妇女免费播放久久久| 色狠狠久久综合网| 日日狠狠久久偷偷色综合96蜜桃| 久久er99热精品一区二区| 久久精品日日躁夜夜躁欧美| 欧美激情精品久久久久久久九九九| 亚洲狠狠综合久久| 久久99国产精一区二区三区| 久久久无码精品亚洲日韩蜜臀浪潮| 日韩人妻无码一区二区三区久久99| 久久久噜噜噜久久| 欧洲性大片xxxxx久久久| 久久精品无码免费不卡| 精品国产综合区久久久久久 | 久久国产精品久久| 高清免费久久午夜精品| 亚洲中文久久精品无码ww16 |