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

pku 1228 Grandpa's Estate 凸多邊形的唯一性(凸包)

題意:
一個(gè)凸多邊形的邊界上有若干木樁,現(xiàn)丟失部分木樁,問(wèn)由剩下的木樁能否唯一確定這個(gè)多邊形

解法:
首先能夠唯一確定的條件是由剩下的木樁確定的凸包的每條邊上至少包含3個(gè)木樁,這個(gè)自己畫圖比劃下就知道了- -
然后就是求一個(gè)凸包了。在這種坐標(biāo)都是整數(shù)的情況下,凸包最好不要用atan2函數(shù),而是用叉積來(lái)比較。我特地用純C寫了個(gè),有要的童鞋可以拿去當(dāng)模板
有個(gè)陰險(xiǎn)的地方,就是測(cè)試數(shù)據(jù)只有3個(gè)點(diǎn),而且3點(diǎn)一線。。。你懂的

代碼
 1#  include <stdio.h>
 2#  include <stdlib.h>
 3# define N 1200
 4# define cross(x1,y1,x2,y2) ((x1)*(y2)-(x2)*(y1))
 5# define min(a,b) ((a)<(b)?(a):(b))
 6# define max(a,b) ((a)>(b)?(a):(b))
 7typedef struct
 8{
 9    int x,y;
10}
point;
11int n,c;
12point data[N],ans[N],std;
13int dis(point *pos)
14{
15    return (pos->x-std.x)*(pos->x-std.x)+(pos->y-std.y)*(pos->y-std.y);
16}

17int isin(point *a,point *b,point *pos)
18{
19    if(pos->x>max(a->x,b->x)||pos->x<min(a->x,b->x)||pos->y>max(a->y,b->y)||pos->y<min(a->y,b->y)) return 0;
20    else if(cross(pos->x-a->x,pos->y-a->y,b->x-a->x,b->y-a->y)!=0return 0;
21    else return 1;
22}

23int cmp(const void *a,const void *b)
24{
25    point *aa=(point *)a,*bb=(point *)b;
26    if(cross(bb->x-std.x,bb->y-std.y,aa->x-std.x,aa->y-std.y))
27            return cross(bb->x-std.x,bb->y-std.y,aa->x-std.x,aa->y-std.y);
28    else 
29            return dis(aa)-dis(bb);
30}

31void sort()
32{
33    int i;
34    int x=0xfffffff,y=0xfffffff;
35    for(i=0;i<n;i++)
36        if(data[i].y<y||data[i].y==y&&data[i].x<x)
37            y=data[i].y,x=data[i].x;
38    std.x=x;
39    std.y=y;
40    qsort(data,n,sizeof(point),cmp);
41}

42void build()
43{
44    int i;
45    c=0;
46    sort();
47    for(i=0;i<n;i++)
48    {
49        while(c>=2&&cross(data[i].x-ans[c-1].x,data[i].y-ans[c-1].y,ans[c-1].x-ans[c-2].x,ans[c-1].y-ans[c-2].y)>=0) c--;
50        ans[c++]=data[i];
51    }

52    if(c>0) ans[c++]=ans[0];
53}

54int chk()
55{
56    int i;
57    for(i=0;i<c-1;i++)
58    {
59        int count=0,j;
60        for(j=0;j<n;j++)
61            if(isin(&ans[i],&ans[i+1],&data[j]))
62                count++;
63        if(count<3return 0;
64    }

65    return 1;
66}

67int main()
68{
69    int test;
70    scanf("%d",&test);
71    while(test--)
72    {
73        int i;
74        scanf("%d",&n);
75        for(i=0;i<n;i++)
76            scanf("%d %d",&data[i].x,&data[i].y);
77        build();
78        if(c>3&&chk()) printf("YES\n");
79        else printf("NO\n");
80    }

81    return 0;
82}

83

posted on 2011-01-15 02:27 yzhw 閱讀(300) 評(píng)論(0)  編輯 收藏 引用 所屬分類: geometry&phycise

<2015年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

導(dǎo)航

統(tǒng)計(jì)

公告

統(tǒng)計(jì)系統(tǒng)

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久精品视频在线看| 另类酷文…触手系列精品集v1小说| 欧美乱人伦中文字幕在线| 欧美 亚欧 日韩视频在线| 农夫在线精品视频免费观看| 欧美激情第二页| 欧美日韩在线一二三| 国产精品看片资源| 一本在线高清不卡dvd| 99这里只有久久精品视频| 99精品热6080yy久久| 亚洲一区视频在线观看视频| 久久精品72免费观看| 免费试看一区| 国产精品乱码一区二三区小蝌蚪| 国产亚洲一区二区在线观看 | 国产精品普通话对白| 国产一区在线免费观看| 亚洲精品在线观| 欧美在线国产| 亚洲成人直播| 亚洲一区二区黄| 免费在线观看精品| 国产精品一国产精品k频道56| 在线观看91精品国产麻豆| 亚洲素人一区二区| 欧美a级片网站| 亚洲自拍另类| 欧美日韩国产一中文字不卡| 伊人久久av导航| 香蕉乱码成人久久天堂爱免费| 欧美韩日一区二区| 午夜视黄欧洲亚洲| 欧美日韩伦理在线| 亚洲经典在线| 噜噜噜噜噜久久久久久91| 夜夜狂射影院欧美极品| 久久午夜国产精品| 国产欧美一区二区色老头| 一区二区三区国产盗摄| 欧美激情一级片一区二区| 久久av资源网站| 国产欧美一区二区三区久久 | 午夜一区不卡| 国产精品v欧美精品∨日韩| 亚洲人成在线影院| 欧美va亚洲va香蕉在线| 欧美淫片网站| 国产亚洲精品自拍| 久久精品亚洲精品| 午夜精品久久久99热福利| 欧美三级黄美女| 在线亚洲一区观看| 亚洲精品资源| 欧美日韩久久久久久| 在线中文字幕一区| 日韩一级大片在线| 欧美三级午夜理伦三级中视频| 亚洲美女视频在线观看| 亚洲欧洲视频| 欧美午夜一区二区三区免费大片 | 国内不卡一区二区三区| 国产视频一区在线| 午夜欧美电影在线观看| 亚洲午夜黄色| 国产精品一区二区在线观看网站| 亚洲综合色丁香婷婷六月图片| 日韩午夜电影在线观看| 欧美日韩中文字幕在线| 午夜欧美大尺度福利影院在线看| 亚洲欧美日韩国产成人| 国语自产在线不卡| 欧美二区在线播放| 欧美乱在线观看| 香港久久久电影| 性久久久久久| 亚洲国产免费看| av成人国产| 国产日本欧美一区二区| 六月婷婷久久| 最新国产乱人伦偷精品免费网站 | 曰韩精品一区二区| 亚洲福利小视频| 欧美日韩国产二区| 亚洲欧美视频一区二区三区| 欧美夜福利tv在线| 亚洲第一天堂无码专区| 亚洲激情不卡| 国产日韩精品一区二区三区在线 | 国产日本欧美在线观看| 久久婷婷久久一区二区三区| 欧美激情2020午夜免费观看| 香蕉成人伊视频在线观看 | 欧美顶级少妇做爰| 亚洲欧美制服另类日韩| 久久久亚洲成人| 亚洲一级免费视频| 久久综合福利| 性18欧美另类| 欧美搞黄网站| 另类尿喷潮videofree| 欧美视频一区二区三区在线观看| 久久久女女女女999久久| 欧美精品激情在线观看| 久久久人成影片一区二区三区观看| 欧美成人午夜免费视在线看片| 午夜精品久久久久99热蜜桃导演| 噜噜爱69成人精品| 久久精品夜夜夜夜久久| 欧美体内谢she精2性欧美 | 亚洲性夜色噜噜噜7777| 亚洲欧洲在线播放| 久久成人久久爱| 亚洲欧美日韩高清| 欧美精品国产精品| 欧美视频一区二区三区在线观看| 国产精品每日更新| 美女国产一区| 国产日韩欧美成人| 一区二区三区 在线观看视| 91久久久在线| 久久天天躁狠狠躁夜夜av| 欧美一区二区三区在线观看视频| 欧美另类视频在线| 亚洲第一综合天堂另类专| 伊人久久大香线蕉综合热线| 欧美在线视频一区二区| 欧美与黑人午夜性猛交久久久| 欧美午夜不卡视频| 日韩一级视频免费观看在线| 亚洲人被黑人高潮完整版| 久久综合五月| 亚洲第一中文字幕| 日韩亚洲精品视频| 欧美日韩国产综合一区二区| 亚洲精品国产日韩| 亚洲婷婷国产精品电影人久久| 欧美日韩国产va另类| 日韩午夜电影在线观看| 亚洲一区精彩视频| 国产美女搞久久| 欧美在线播放视频| 老司机精品久久| 91久久久亚洲精品| 欧美日韩亚洲一区| 亚洲一区欧美二区| 久久综合九色综合欧美狠狠| 亚洲国产日韩一区| 欧美日韩 国产精品| 一区二区三区四区国产| 欧美一级免费视频| 在线不卡亚洲| 欧美日韩大片一区二区三区| 亚洲午夜精品一区二区| 久热国产精品| 一区二区三区**美女毛片| 国产精品久久国产三级国电话系列| 亚洲免费中文| 欧美成人精品在线| 国产精品99久久久久久人| 国产精品久久久久久久久久三级| 午夜精品久久久久久99热软件 | 亚洲欧洲视频| 欧美视频一区二| 久久高清福利视频| 亚洲激情视频| 欧美在线影院在线视频| 亚洲精品在线视频| 国产精品一级| 欧美国产在线电影| 欧美一区二区免费视频| 亚洲国产一区二区三区在线播| 亚洲欧美福利一区二区| 亚洲国产精品成人一区二区| 国产精品国产三级国产专区53| 久久久久久久综合狠狠综合| 一本色道久久| 欧美成人在线免费观看| 欧美亚洲免费| 99re8这里有精品热视频免费| 国产视频精品xxxx| 欧美日韩国产在线播放网站| 久久精品水蜜桃av综合天堂| 一道本一区二区| 欧美激情 亚洲a∨综合| 亚洲精品一区二区三| 亚洲精品乱码久久久久久| 欧美一二区视频| 亚洲人体大胆视频| 国产日韩欧美三区| 欧美日韩国产在线看| 麻豆91精品91久久久的内涵| 午夜视频精品| 亚洲午夜视频在线| 亚洲日本激情| 亚洲电影免费观看高清完整版在线观看 | 久久国产精品网站| 亚洲在线一区| 一区二区成人精品| 最新国产精品拍自在线播放|