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

poj 3348 Cows

   這個題用到2個計算幾何算法。求解凸包和簡單多邊形面積。凸包算法詳細解釋見算法導論。求解多邊形面積的思想是將多邊形分解為三角
形,一般是假設按順序取多邊形上面連續的2點與原點組合成一個三角形,依次下去用叉積求有向面積之和,最后取絕對值即可。注意,這些
點必須是在多邊形上逆時針或者順時針給出的,而求出凸包剛好給了這樣的一系列點。
   凸包代碼,其實先找出一個y坐標最小的點,再對剩下的所有點按極角排序。然后對排序后的點進行一個二維循環即可。二維循環的解釋是
當加入新的點進入凸包集合時候,如果與以前加入的點形成的偏轉方向不一致,那么前面那些點都需要彈出集合。

   代碼如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
using namespace std;
#define MAX_N (10000 + 10)

struct Point
{
    double x, y;
    bool operator <(const Point& p) const
    {
        return y < p.y || y == p.y && x < p.x;
    }
};

Point pts[MAX_N];
int nN;
Point ans[MAX_N];
int nM;

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);
}

bool CrossCmp(const Point& a, const Point& b)
{
    double cs = Cross(pts[0], a, b);
    return cs > 0 || cs == 0 && a.x < b.x; 
}

void Scan()
{
    nM = 0;
    sort(pts + 1, pts + nN, CrossCmp);//對所有點按極角排序,逆時針偏轉
    
    
//第0-2個點,其實不會進入第二重循環的
    
//從第3個點開始,就依次檢查與凸包中前面點形成的邊的偏轉方向
    
//如果不是逆時針偏轉,則彈出該點
    for (int i = 0; i < nN; ++i)
    {
        while (nM >= 2 && Cross(ans[nM - 2], ans[nM - 1], pts[i]) <= 0)
        {
            nM--;
        }
        ans[nM++] = pts[i];
    }
}

double GetArea()
{
    double fAns = 0.0;
    Point ori = {0.0, 0.0};
    for (int i = 0; i < nM; ++i)
    {
        fAns += Cross(ori, ans[i], ans[(i + 1) % nM]);
    }
    return fabs(fAns) * 0.5;
}

int main()
{
    while (scanf("%d", &nN) == 1)
    {
        for (int i = 0; i < nN; ++i)
        {
            scanf("%lf%lf", &pts[i].x, &pts[i].y);
            if (pts[i] < pts[0])
            {
                swap(pts[i], pts[0]);//pts[0]是y坐標最小的點
            }
        }
        
        Scan();//掃描出凸包
        double fArea = GetArea();
        printf("%d\n", (int)(fArea / 50));
    }
    
    return 0;
}

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

<2012年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

公告

常用鏈接

留言簿(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>
            亚洲激情二区| 欧美一区二区三区四区在线| 久久影院午夜片一区| 欧美一区二区三区四区在线观看| 亚洲视频二区| 亚洲欧美中文日韩在线| 亚洲欧美日韩国产精品| 亚洲精品综合精品自拍| 亚洲欧洲一二三| 亚洲免费精品| 欧美在线免费视频| 老司机一区二区| 亚洲黄网站在线观看| 你懂的网址国产 欧美| 亚洲成人在线网| 亚洲精品国产无天堂网2021| 一本色道综合亚洲| 久久成人免费网| 欧美激情一区二区三区在线| 国产精品分类| 伊大人香蕉综合8在线视| 在线看片日韩| 午夜精品久久久久久久99热浪潮| 久久精品免费观看| 亚洲黄色成人| 小黄鸭视频精品导航| 欧美不卡视频| 国产午夜精品一区理论片飘花 | 国产精品日韩久久久| 国产乱码精品| 91久久精品国产91久久| 亚洲一区二区三区四区五区黄| 久久精品av麻豆的观看方式| 亚洲国产清纯| 久久精品女人的天堂av| 欧美视频免费看| 亚洲第一区色| 久久久成人精品| 夜夜嗨网站十八久久| 久久免费视频这里只有精品| 欧美吻胸吃奶大尺度电影| 国产在线视频欧美一区二区三区| 夜夜嗨av一区二区三区四区| 久久激五月天综合精品| aa级大片欧美| 欧美精品精品一区| 亚洲大黄网站| 久久综合99re88久久爱| 亚洲婷婷综合久久一本伊一区| 免费观看一级特黄欧美大片| 国产拍揄自揄精品视频麻豆| 亚洲午夜影视影院在线观看| 亚洲电影欧美电影有声小说| 欧美一级片久久久久久久| 国产精品久久久久久久久搜平片 | 国产精品v亚洲精品v日韩精品| 好看的日韩视频| 欧美一区在线视频| 亚洲午夜激情免费视频| 欧美午夜在线一二页| 国产精品99久久久久久久久| 亚洲精品中文字幕有码专区| 欧美国产精品中文字幕| 91久久精品国产91久久| 亚洲国产日韩美| 欧美日韩成人综合| 亚洲一区在线视频| 亚洲一区欧美一区| 国产精品欧美久久| 欧美中文字幕不卡| 小辣椒精品导航| 在线电影一区| 亚洲高清成人| 欧美日韩亚洲国产精品| 亚洲自拍啪啪| 午夜免费久久久久| 亚洲福利专区| 欧美激情黄色片| 欧美电影免费| 亚洲欧美国产精品专区久久| 亚洲在线一区| 永久久久久久| 亚洲国产精品久久久| 欧美日韩国产美| 欧美一区二区在线看| 久久免费99精品久久久久久| 亚洲国内欧美| 日韩一级在线观看| 国产区精品视频| 久久久精品国产99久久精品芒果| 久久久久久久一区二区| 中文国产一区| 久久久久久久久久久久久女国产乱 | 欧美另类在线播放| 午夜在线电影亚洲一区| 久久福利资源站| 亚洲狼人精品一区二区三区| 一区二区三区四区五区在线 | 国产网站欧美日韩免费精品在线观看| 久久精品视频一| 欧美国产精品专区| 久久久一区二区| 欧美激情免费在线| 欧美在线黄色| 欧美精品aa| 久久精品av麻豆的观看方式| 欧美v日韩v国产v| 欧美视频日韩| 亚洲看片免费| 久久视频在线免费观看| 欧美午夜一区二区| 久久综合狠狠综合久久激情| 欧美国产日韩一区二区三区| 午夜精品一区二区三区在线视 | 1024日韩| 亚洲字幕在线观看| 亚洲国产欧美另类丝袜| 午夜免费久久久久| 亚洲欧美日韩一区| 欧美精品123区| 女女同性精品视频| 国产欧美日韩综合一区在线播放| 亚洲久久在线| 亚洲美女视频网| 久久视频一区| 免费成人性网站| 国内精品伊人久久久久av一坑| 在线亚洲电影| 夜夜嗨av一区二区三区| 美女脱光内衣内裤视频久久影院| 欧美在线国产精品| 国产精品一页| 亚洲欧美经典视频| 亚洲欧美福利一区二区| 欧美日本一区二区三区| 亚洲经典三级| 亚洲人成在线播放网站岛国| 久久夜色精品国产| 麻豆精品传媒视频| 狠狠狠色丁香婷婷综合久久五月| 欧美在线一级视频| 久久久亚洲午夜电影| 影音先锋久久| 欧美电影免费| 一区二区三区视频免费在线观看| 亚洲一区二区三区高清 | 亚洲桃花岛网站| 亚洲专区免费| 国产欧美日韩高清| 久久久91精品| 亚洲福利精品| 在线视频日韩| 欧美午夜久久| 午夜日韩福利| 免费日本视频一区| 日韩一二在线观看| 国产精品福利在线| 久久丁香综合五月国产三级网站| 久久久久网站| 亚洲美女性视频| 国产精品久久久久aaaa樱花| 午夜久久99| 亚洲成人资源网| 亚洲欧美色一区| 狠久久av成人天堂| 欧美剧在线观看| 亚洲欧美成人一区二区三区| 久久综合色88| 国产精品99久久久久久久久久久久 | 亚洲激精日韩激精欧美精品| 性8sex亚洲区入口| 欧美精品videossex性护士| 久久久久国产一区二区| 好吊一区二区三区| 欧美精品在线视频| 欧美一区二区精品久久911| 欧美国产国产综合| 性欧美大战久久久久久久久| 影音先锋中文字幕一区| 欧美日韩亚洲一区二区三区四区| 午夜精品久久| 亚洲日本中文字幕区| 久久久xxx| 亚洲制服丝袜在线| 亚洲人成绝费网站色www| 国产精品一区久久| 欧美激情一区二区在线| 久久精品国产99| 亚洲小说春色综合另类电影| 欧美国产另类| 久久精品成人一区二区三区| 99av国产精品欲麻豆| 一区二区在线观看视频在线观看| 欧美日一区二区在线观看| 久久久久国产一区二区| 亚洲在线第一页| 夜夜躁日日躁狠狠久久88av| 亚洲电影免费观看高清完整版在线观看| 性欧美暴力猛交69hd| 亚洲欧美大片|