• <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---計(jì)算幾何

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

            求頂點(diǎn)為整數(shù)的任意多邊形內(nèi)部整點(diǎn)數(shù)(Pick定理),邊上整點(diǎn)數(shù)(GCD),面積(叉積)

            第一次知道Pick定理。。
            注意。。叉積求出面積可能是負(fù)數(shù),需要處理下
            /*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;
            }

            久久99精品久久久久久秒播| 狠狠色婷婷综合天天久久丁香| 国产—久久香蕉国产线看观看| 国产精品久久新婚兰兰| 久久精品成人免费看| 久久免费99精品国产自在现线| 久久亚洲私人国产精品vA| 欧美久久综合九色综合| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品黄AA片一区二区三区| 人妻中文久久久久| 国产精品美女久久久m| 久久久无码人妻精品无码| 国产激情久久久久影院小草| 色偷偷88888欧美精品久久久| 久久97久久97精品免视看秋霞| 亚洲av成人无码久久精品| 性欧美大战久久久久久久久| 久久国产免费| 久久99久久99精品免视看动漫| 久久亚洲国产精品成人AV秋霞| 国内精品久久久久久久久电影网 | 久久伊人中文无码| 97久久久精品综合88久久| 97久久天天综合色天天综合色hd| 青青久久精品国产免费看| 久久se精品一区精品二区国产| 精品一区二区久久| 久久久久中文字幕| 欧美性大战久久久久久| 国产精品美女久久久网AV| 欧美亚洲国产精品久久蜜芽 | 久久天堂电影网| 久久最新精品国产| 亚洲乱亚洲乱淫久久| 亚洲国产日韩欧美综合久久| 伊人久久大香线焦AV综合影院| 中文字幕热久久久久久久| 国产成人无码精品久久久性色| 亚洲av日韩精品久久久久久a| 久久久无码精品亚洲日韩蜜臀浪潮|