青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

poj 1265 Area

   此題用到了幾個知識,一個是求多邊形面積的公式。然后是,根據頂點都在整點上求多邊形邊界上的頂點數目的方法。最后一個是pick
定理。根據前面2個信息和pick定理算出在多邊形內部的整點的個數。
   求多邊形面積的方法還是叉積代表有向面積的原理,把原點看做另外的一個點去分割原來的多邊形為N個三角形,然后把它們的有向面
積加起來。
   判斷邊界上點的個數是根據Gcd(dx,dy)代表當前邊上整數點的個數的結論。這個結論的證明其實也比較簡單,假設dx = a,dy = b。
初始點是x0,y0,假設d = Gcd(a,b)。那么邊上的點可以被表示為(x0 + k * (a / d),y0 + k * (b / d))。為了使點是整數點,
k必須是整數,而且0<= k <=d,所以最多有d個這個的點。
   求多邊形內部點的個數用的是pick定理。面積 = 內部點 + 邊界點 / 2 - 1。
   
   代碼如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
using namespace std;
#define MAX (100 + 10)

struct Point
{
    double x, y;
};
Point pts[MAX];

int nN;
const int IN = 1;
const int EAGE = 2;
const int OUT = 3;
const double fPre = 1e-8;

double Det(double fX1, double fY1, double fX2, double fY2)
{
    return fX1 * fY2 - fX2 * fY1;
}

double Cross(Point a, Point b, Point c)
{
    return Det(b.x - a.x, b.y - a.y, c.x - a.x, c.y - a.y);
}

double GetArea()
{
    double fArea = 0.0;
    Point ori = {0.0, 0.0};

    for (int i = 0; i < nN; ++i)
    {
        fArea += Cross(ori, pts[i], pts[(i + 1) % nN]);
    }
    return fabs(fArea) * 0.5;
}

int gcd(int nX, int nY)
{
    if (nX < 0)
    {
        nX = -nX;
    }
    if (nY < 0)
    {
        nY = -nY;
    }
    if (nX < nY)
    {
        swap(nX, nY);
    }
    while (nY)
    {
        int nT = nY;
        nY = nX % nY;
        nX = nT;
    }
    return nX;
}

int main()
{
    int nT;
    int nI, nE;
    double fArea;

    scanf("%d", &nT);
    int dx ,dy;
    
    for (int i = 1; i <= nT; ++i)
    {
        scanf("%d", &nN);
        nI = nE = 0;
        pts[0].x = pts[0].y = 0;
        for (int j = 1; j <= nN; ++j)
        {
            scanf("%d%d", &dx, &dy);
            pts[j].x = pts[j - 1].x + dx;
            pts[j].y = pts[j - 1].y + dy;
            nE += gcd(dx, dy);
        }
        fArea = GetArea();
        nI = (fArea + 1) - nE / 2;
        printf("Scenario #%d:\n%d %d %.1f\n\n", i, nI, nE, fArea);
    }

    return 0;
}

posted on 2012-07-20 15:36 yx 閱讀(1058) 評論(0)  編輯 收藏 引用 所屬分類: 計算幾何

<2013年2月>
272829303112
3456789
10111213141516
17181920212223
242526272812
3456789

導航

統計

公告

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

me

好友

同學

網友

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区在线看| 亚洲福利视频网| 亚洲手机成人高清视频| 亚洲精选一区二区| 激情五月***国产精品| 欧美午夜片欧美片在线观看| 欧美黑人国产人伦爽爽爽| 亚洲欧洲三级电影| 欧美剧在线观看| 亚洲欧美日本精品| 在线综合视频| 久久久国产精品亚洲一区 | 99热免费精品在线观看| 亚洲电影毛片| 国产精品美腿一区在线看 | 亚洲欧洲一区二区在线观看| 亚洲欧洲精品一区二区三区 | 一区二区欧美在线观看| 亚洲美洲欧洲综合国产一区| 在线观看日韩欧美| 国产欧美一区二区精品婷婷| 亚洲福利视频网站| 亚洲国产一区二区三区a毛片| 亚洲国产精品悠悠久久琪琪| 亚洲麻豆视频| 久久久av毛片精品| 欧美福利在线观看| 日韩视频中文字幕| 亚洲欧美日韩一区二区三区在线观看 | 亚洲国产精品va在线看黑人动漫 | 久久久噜噜噜久噜久久 | 久久精品国产久精国产一老狼 | 久久婷婷国产综合尤物精品 | 欧美综合77777色婷婷| 久久综合色播五月| 欧美不卡一卡二卡免费版| 欧美精品一区二区三区四区| 欧美午夜免费影院| 激情久久影院| 9人人澡人人爽人人精品| 性做久久久久久免费观看欧美| 亚洲人被黑人高潮完整版| 久久久精品一区二区三区| 亚洲国产一区在线| 国内精品久久久久伊人av| 亚洲免费在线观看视频| 亚洲人成网站999久久久综合| 亚洲视频一二| 国产一区二区无遮挡| 久久欧美肥婆一二区| 欧美影院在线| 欧美日韩免费高清一区色橹橹| 91久久线看在观草草青青| 欧美mv日韩mv国产网站app| 欧美成人自拍视频| 亚洲精品美女免费| 一个色综合av| 在线看欧美日韩| 一区二区高清在线| 久久久久免费观看| 一级日韩一区在线观看| 欧美激情第五页| 国产在线日韩| 午夜精品久久久久久久久久久| 女主播福利一区| 美女成人午夜| 久久久久久久91| 国产欧美日韩精品专区| 一区二区三区欧美日韩| 欧美高清视频在线观看| 久久蜜桃香蕉精品一区二区三区| 亚洲欧美日韩国产成人| 夜夜躁日日躁狠狠久久88av| 欧美成在线观看| 欧美14一18处毛片| 香蕉av福利精品导航| 亚洲视频1区| 欧美极品欧美精品欧美视频| 久久久精品999| 亚洲电影第三页| 欧美噜噜久久久xxx| 亚洲美女在线一区| 欧美一区二区三区啪啪| 国产美女一区二区| 久久噜噜噜精品国产亚洲综合| 欧美激情偷拍| 噜噜噜噜噜久久久久久91| 久久一日本道色综合久久| 激情欧美日韩| 免费视频久久| 亚洲人成在线免费观看| 欧美一区二区三区久久精品| 国产精品久久久久一区二区| 免费高清在线视频一区·| 久久久精品日韩| 午夜视频在线观看一区二区| 136国产福利精品导航| 免播放器亚洲一区| 亚洲欧美日韩在线观看a三区| 亚洲最新在线| 免费av成人在线| 性欧美超级视频| 国产精品99久久久久久久久| 国产网站欧美日韩免费精品在线观看| 久久久亚洲欧洲日产国码αv| 欧美怡红院视频| 欧美成年人网| 美女成人午夜| 久久在线91| 欧美xx视频| 亚洲精品日韩在线| 欧美日韩亚洲一区二区三区在线观看 | 久久永久免费| 国产精品久久久久久久久久久久久| 猛干欧美女孩| 国产免费成人在线视频| 亚洲国产欧美国产综合一区| 国产农村妇女毛片精品久久麻豆| 亚洲国产福利在线| 激情综合在线| 性欧美长视频| 午夜精品久久久久久久久久久久 | 老牛影视一区二区三区| 性色av香蕉一区二区| 欧美日韩美女一区二区| 欧美电影在线观看完整版| 国产综合色产| 欧美在线视频在线播放完整版免费观看| 亚洲欧美日韩区| 久久一区国产| 久久精品一区中文字幕| 亚洲蜜桃精久久久久久久| 亚洲永久精品大片| 欧美人妖另类| 亚洲欧洲一二三| 99国产精品视频免费观看一公开| 欧美在线视频观看| 欧美一区在线看| 欧美国产大片| 久久综合网hezyo| 日韩午夜av| 99av国产精品欲麻豆| 蜜乳av另类精品一区二区| 久久综合九色九九| 国产在线一区二区三区四区| 午夜免费久久久久| 久久久亚洲人| 亚洲第一网站| 欧美成人黑人xx视频免费观看| 欧美88av| 亚洲免费观看高清在线观看| 欧美日韩aaaaa| 一区二区三区欧美在线观看| 亚洲免费在线看| 国产视频一区在线观看一区免费| 亚欧成人精品| 毛片精品免费在线观看| 亚洲国产导航| 欧美午夜精品久久久久久孕妇 | 亚洲一区999| 午夜久久资源| 樱桃国产成人精品视频| 免费在线欧美黄色| 99精品免费视频| 欧美亚洲视频在线观看| 精品av久久707| 欧美人与禽猛交乱配| 亚洲一二三区在线| 久久综合成人精品亚洲另类欧美| 亚洲国产专区校园欧美| 欧美亚州韩日在线看免费版国语版| 亚洲欧美激情四射在线日 | 亚洲精品婷婷| 欧美专区中文字幕| 亚洲国产美国国产综合一区二区| 欧美精品免费播放| 欧美成人免费全部| 亚洲日本在线观看| 亚洲午夜国产一区99re久久| 国产伦精品一区二区三区免费迷| 久久久7777| 亚洲美女在线观看| 欧美+日本+国产+在线a∨观看| 亚洲视频第一页| 在线成人h网| 国产精品网站在线观看| 欧美成人久久| 久久久久久久一区| 国产精品99久久久久久www| 狠狠色综合色综合网络| 欧美日韩精品综合| 欧美日韩另类在线| 久久久国产精品亚洲一区| 一二三区精品| 欧美激情一区二区三区在线视频观看| 午夜精品一区二区三区在线| 亚洲免费观看视频| 91久久精品www人人做人人爽| 国产日韩欧美一区二区三区在线观看| 欧美激情在线狂野欧美精品|