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

Uriel's Corner

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

POJ 2284 That Nice Euler Circuit---計算幾何

Posted on 2010-09-19 01:45 Uriel 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: POJ計算幾何
         這幾天做計算幾何一直不順,各種WA。。這題做了一天多。。WA到哭了。。
         這題思路很簡單,用平面圖的歐拉定理,V+F-E=2;其中V是頂點數,F是分割出的面數,E是邊數。

         方法是:先兩重for求出所有的交點,然后判每個點在幾條線段上,每一個交點將幾條線段多分開一段。這里糾結了很久,各種WA。。無奈換思路,求出所有交點之后用set存,順便判重,然后枚舉n-1跳條線段,看每條線段上有幾個交點,但是因為線段兩端的點不會分割線段,所以要剪掉。。這里又是各種WA。。今天一晚上都杯具在這里。。然后自認為解決了這個問題之后依然WA。。無奈找到某解題報告上的數據,竟然有重點,重邊。。無奈了。。各種判重,各種eps之后還是WA。。無奈找到另一份解題報告,發現跟我的不同之處是最后對端點的處理,判是不是一條線段的開始點,不是的話邊數就++,但是沒有判重點,重邊。。也能AC。。我改了判端點之后重點,重邊的sampl也能過。。然后總算AC了。。不過比解題報告慢很多。。set導致的。。

        但是我的重載<跟解題報告不同,我直接!= , < 這么比的話Discuss某sample過不了,于是又加了eps才過,話說還是第一次這么寫比較函數。。= =。。弱啊。。

        貼上丑陋的代碼一份,有錯誤歡迎大家指正

//Problem: 2284  User: Uriel 
//Memory: 944K  Time: 1344MS 
//Language: C++  Result: Accepted 

#include
<set>
#include
<math.h>
#include
<stdio.h>
#include
<stdlib.h>
#include
<algorithm>
using namespace std;
#define eps 1e-10
#define zero(x) (((x)>0?(x):-(x))<eps)

struct point{
    
double x,y;
}
p[100000];

struct line{
    point a,b;
}
l[100000];

bool operator<(point a,point b){
    
if(fabs(a.x-b.x)>eps)return a.x-b.x<-eps;
    
return a.y-b.y<-eps;
}


int n,E;

double xmult(point p1,point p2,point p0){
    
return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}


int dots_inline(point p1,point p2,point p3){
    
return zero(xmult(p1,p2,p3));
}


int dot_online_in(point p,point l1,point l2){
    
return zero(xmult(p,l1,l2))&&(l1.x-p.x)*(l2.x-p.x)<eps&&(l1.y-p.y)*(l2.y-p.y)<eps;
}


int same_side(point p1,point p2,point l1,point l2){
    
return xmult(l1,p1,l2)*xmult(l1,p2,l2)>eps;
}


int intersect_in(point u1,point u2,point v1,point v2){
    
if (!dots_inline(u1,u2,v1)||!dots_inline(u1,u2,v2))
        
return !same_side(u1,u2,v1,v2)&&!same_side(v1,v2,u1,u2);
    
return dot_online_in(u1,v1,v2)||dot_online_in(u2,v1,v2)||dot_online_in(v1,u1,u2)||dot_online_in(v2,u1,u2);
}


point intersection(point u1,point u2,point v1,point v2)
{
    point ret
=u1;
    
double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))
        
/((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));
    ret.x
+=(u2.x-u1.x)*t;
    ret.y
+=(u2.y-u1.y)*t;
    
return ret;
}


double len(line a){
    
return sqrt((a.a.x-a.b.x)*(a.a.x-a.b.x)+(a.a.y-a.b.y)*(a.a.y-a.b.y));
}


bool ok(int x){
    
if(len(l[x])<eps)return false;
    
if(fabs(l[x].a.x-l[x-1].a.x)<eps && fabs(l[x].b.x-l[x-1].b.x)<eps && fabs(l[x].a.y-l[x-1].a.y)<eps && fabs(l[x].b.y-l[x-1].b.y)<eps)return false;
    
return true;
}


int main(){
    
int i,j;
    
int cse=1;
    
while(scanf("%d",&n),n){
        
for(i=0;i<n;i++)scanf("%lf %lf",&p[i].x,&p[i].y);
        
set<point> st;
        E
=0;
        
set<point>::iterator it;
        
for(i=0;i<n;i++){
            
for(j=0;j<n;j++){
                
if(i==j)continue;
                
if(intersect_in(p[i],p[(i+1)%n],p[j],p[(j+1)%n])){
//                    it=st.find(intersection(p[i],p[(i+1)%n],p[j],p[(j+1)%n]));
//                    if(it==st.end())st.insert(intersection(p[i],p[(i+1)%n],p[j],p[(j+1)%n]));
                    st.insert(intersection(p[i],p[(i+1)%n],p[j],p[(j+1)%n]));
                }

            }

        }

        
for(i=0;i<n;i++){
            
for(it=st.begin();it!=st.end();it++){
                
if(dot_online_in(*it,p[i],p[(i+1)%n]) && !(fabs(it->x-p[i].x)<eps && fabs(it->y-p[i].y)<eps))E++;
            }

        }

        
if(E>1)printf("Case %d: There are %d pieces.\n",cse++,E+2-st.size());
        
else
            printf(
"Case %d: There are 1 pieces.\n",cse++);
    }

    
return 0;
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久国产精品一区二区三区四区 | 国产亚洲欧美日韩美女| 中文国产成人精品| 亚洲综合成人在线| 在线看一区二区| 欧美女主播在线| 一区二区三区**美女毛片| 亚洲欧美在线观看| 亚洲日本中文| 韩国v欧美v日本v亚洲v| 欧美日韩在线亚洲一区蜜芽| 久久成人免费日本黄色| 中文在线资源观看视频网站免费不卡| 久久久噜久噜久久综合| 亚洲图片在区色| 亚洲欧洲综合另类| 国产一区视频网站| 国产精品夫妻自拍| 一区二区不卡在线视频 午夜欧美不卡在| 久久精品亚洲精品| 亚洲欧美卡通另类91av| 在线观看日韩av电影| 国产乱子伦一区二区三区国色天香 | 亚洲午夜在线视频| 欧美丝袜一区二区| 欧美粗暴jizz性欧美20| 欧美大胆成人| 欧美日韩国产综合视频在线观看| 亚洲激情视频网站| 久久综合九色九九| 久久久精品免费视频| 中文av一区特黄| 亚洲精品视频免费| 亚洲精品一区二区在线| 亚洲精品日韩在线| 亚洲欧美激情视频在线观看一区二区三区| 亚洲人成在线观看网站高清| 国产一区二区三区免费观看| 国产一区欧美日韩| 欧美激情2020午夜免费观看| 久久精品系列| 久久久欧美一区二区| 欧美一区成人| 欧美中文字幕在线| 裸体女人亚洲精品一区| 嫩模写真一区二区三区三州| 久久综合九色欧美综合狠狠| 美女主播精品视频一二三四| 日韩亚洲视频| 一本久久综合亚洲鲁鲁| 亚洲午夜激情网站| 午夜一级在线看亚洲| 久久久中精品2020中文| 欧美国产丝袜视频| 欧美日韩亚洲一区| 国产精品免费一区二区三区观看| 国产精品入口尤物| 欧美福利在线| 国产精品久久福利| 国产真实乱偷精品视频免| 亚洲国产精品成人| 亚洲欧美怡红院| 免费在线成人av| 亚洲精品日韩一| 欧美一区二区免费观在线| 免费91麻豆精品国产自产在线观看| 亚洲免费观看| 小黄鸭精品aⅴ导航网站入口| 性色av香蕉一区二区| 久久久视频精品| 欧美系列精品| 狠狠色狠色综合曰曰| 亚洲色图自拍| 亚洲一本视频| 久久人91精品久久久久久不卡| 亚洲乱码日产精品bd| 国产精品久久久久久久午夜| 午夜精品理论片| 欧美.日韩.国产.一区.二区| 国产综合18久久久久久| 女人色偷偷aa久久天堂| 亚洲视频一二| 欧美日韩理论| 国产亚洲午夜| 欧美激情bt| 国产精品久久久亚洲一区| 欧美一级电影久久| 久久亚洲私人国产精品va媚药| 亚洲日本无吗高清不卡| 一区二区免费在线视频| 国产亚洲亚洲| 亚洲日韩欧美视频| 欧美日韩18| 欧美在线免费一级片| 蜜桃久久av一区| 亚洲综合精品四区| 久久天堂成人| 性8sex亚洲区入口| 噜噜噜噜噜久久久久久91| 在线性视频日韩欧美| 久久不射2019中文字幕| 中文国产一区| 你懂的亚洲视频| 亚洲一区欧美二区| 久久综合国产精品台湾中文娱乐网| 亚洲天天影视| 麻豆精品视频在线观看| 亚洲免费在线视频一区 二区| 久久久噜噜噜久久狠狠50岁| 亚洲综合国产| 欧美绝品在线观看成人午夜影视| 欧美一级久久久久久久大片| 麻豆精品视频| 麻豆成人精品| 国产午夜精品全部视频播放| 亚洲精品综合久久中文字幕| 国内精品福利| 亚洲一区综合| 中国av一区| 欧美激情一区在线观看| 美女尤物久久精品| 国产亚洲成av人在线观看导航| 亚洲激情国产| 亚洲国产91色在线| 久久精品国产综合| 久久精品99国产精品酒店日本| 欧美日韩在线视频首页| 亚洲人永久免费| 亚洲国产日韩一区| 久久九九99视频| 久久久国产视频91| 国际精品欧美精品| 欧美在线视频一区| 久久久国产一区二区三区| 国产精品影视天天线| 亚洲男人天堂2024| 欧美一区二区三区在线| 国产精品你懂的在线| 在线一区视频| 亚洲欧美激情精品一区二区| 国产精品成人一区二区三区夜夜夜 | 欧美国产综合一区二区| 经典三级久久| 亚洲欧洲精品一区二区精品久久久| 国产午夜精品视频| 久久精品亚洲精品国产欧美kt∨| 久久久久久国产精品mv| 国内揄拍国内精品久久| 久久久7777| 欧美v国产在线一区二区三区| 精品成人a区在线观看| 久久资源av| 亚洲精品国产系列| 亚洲欧美日韩天堂一区二区| 国产精品永久免费| 久久久女女女女999久久| 蜜桃av综合| 亚洲精品在线免费| 欧美午夜视频网站| 先锋亚洲精品| 欧美国产一区二区三区激情无套| 亚洲激情午夜| 欧美美女操人视频| 亚洲一区二区三区午夜| 久久精品一区二区三区四区| 亚洲高清视频中文字幕| 免费成人黄色av| 一本到高清视频免费精品| 午夜精品久久久久久久久| 国产精品视频一| 欧美一区二区三区在线看| 亚洲第一福利视频| 亚洲午夜国产一区99re久久| 国产精品有限公司| 久久狠狠婷婷| 亚洲美女在线看| 久久精品亚洲乱码伦伦中文 | 国产毛片精品视频| 欧美国产精品| 欧美一区二区视频网站| 亚洲国产精品一区制服丝袜| 性欧美暴力猛交另类hd| 亚洲第一偷拍| 国产美女精品人人做人人爽| 欧美日本一区二区视频在线观看| 亚洲一区二区在线免费观看| 女人色偷偷aa久久天堂| 欧美一区1区三区3区公司| 亚洲精品国产精品久久清纯直播| 国产欧美日韩麻豆91| 欧美日韩国产成人精品| 久久久欧美一区二区| 亚洲欧美国产一区二区三区| 亚洲精品美女在线观看| 久久综合伊人77777蜜臀| 欧美一区二区三区四区在线| 亚洲视频在线观看免费| 亚洲精品在线二区| 亚洲人成啪啪网站| 亚洲国产成人不卡|