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

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>
            亚洲欧美日韩精品综合在线观看| 夜夜嗨av一区二区三区网站四季av | 欧美一级日韩一级| 亚洲九九九在线观看| 亚洲三级色网| 日韩亚洲在线| 香蕉成人伊视频在线观看 | 欧美91大片| 欧美美女视频| 国产精品九九| 伊人久久亚洲影院| 亚洲精品乱码| 午夜国产精品视频| 久久综合给合久久狠狠色 | 久久精品中文字幕一区| 久久综合久久综合久久综合| 欧美精品久久一区二区| 国产精品资源| 亚洲开发第一视频在线播放| 亚洲午夜影视影院在线观看| 久久国产精品亚洲va麻豆| 噜噜噜噜噜久久久久久91| 亚洲日韩成人| 久久国产66| 欧美日韩一区精品| 极品av少妇一区二区| 一本色道久久综合狠狠躁的推荐| 欧美一区二区三区免费大片| 91久久综合| 欧美亚洲一区二区在线观看| 欧美理论电影在线播放| 国产日韩一区二区三区在线| 一本色道**综合亚洲精品蜜桃冫| 久久精品在线视频| 99热精品在线观看| 久久综合影音| 精品不卡一区| 欧美亚洲一区二区在线| 亚洲高清不卡一区| 欧美在线视频一区二区| 国产精品高潮粉嫩av| 日韩亚洲欧美成人| 美女爽到呻吟久久久久| 亚洲欧美日韩国产| 欧美高清自拍一区| 在线 亚洲欧美在线综合一区| 一区二区免费在线观看| 免费亚洲电影在线观看| 午夜视频一区二区| 欧美视频导航| 在线亚洲伦理| 亚洲精品人人| 欧美人成网站| 9国产精品视频| 亚洲高清久久| 美女性感视频久久久| 国内精品一区二区三区| 久久精品最新地址| 亚洲欧美第一页| 国产欧美精品xxxx另类| 欧美一级淫片aaaaaaa视频| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美在线精品一区| 亚洲午夜高清视频| 国产精品捆绑调教| 午夜精品久久99蜜桃的功能介绍| 一区二区三区产品免费精品久久75| 欧美人妖在线观看| 一区二区三区四区国产| 一本色道久久99精品综合| 欧美日韩国产小视频在线观看| 在线视频精品一区| 亚洲无线视频| 国色天香一区二区| 欧美黄色视屏| 欧美日韩国产美女| 亚洲综合色网站| 午夜电影亚洲| 精品va天堂亚洲国产| 欧美激情导航| 国产精品护士白丝一区av| 性欧美大战久久久久久久免费观看 | 欧美精品大片| 午夜精品久久99蜜桃的功能介绍| 午夜精品成人在线视频| 在线观看日韩| 日韩视频免费观看高清完整版| 欧美午夜剧场| 美女任你摸久久| 欧美日韩一区二区在线播放| 欧美在线91| 欧美va天堂| 午夜亚洲一区| 玖玖玖免费嫩草在线影院一区| 一本大道久久a久久精品综合 | 欧美日韩p片| 在线一区观看| 亚洲日本一区二区三区| 国产精品99久久久久久久久| 一区二区亚洲欧洲国产日韩| 亚洲九九九在线观看| 国产亚洲福利一区| 亚洲国产精品综合| 国产欧美日韩亚洲一区二区三区 | 亚洲影视在线播放| 亚洲国产另类久久精品| 亚洲在线不卡| 99re66热这里只有精品3直播| 午夜精品久久久久久久久久久 | 另类人畜视频在线| 欧美日韩午夜激情| 欧美成人69av| 国产专区综合网| 一区二区三区久久精品| 亚洲欧洲一区| 久久久久国产精品午夜一区| 亚洲香蕉网站| 欧美理论在线| 亚洲第一区色| 1024成人网色www| 欧美一区二区视频免费观看| 亚洲一区亚洲二区| 欧美日韩国产在线一区| 欧美激情一区二区三区| 激情视频一区二区| 久久黄色影院| 久久久综合网| 国自产拍偷拍福利精品免费一| 亚洲欧美日韩精品综合在线观看| 亚洲视频在线观看一区| 欧美精品在线免费观看| 欧美激情片在线观看| 1769国产精品| 六月天综合网| 亚洲高清一二三区| 99精品热6080yy久久| 欧美国产日韩视频| 亚洲三级电影全部在线观看高清| 亚洲人精品午夜| 欧美美女操人视频| aa成人免费视频| 亚洲免费视频一区二区| 国产精品mv在线观看| 亚洲神马久久| 久久精品视频在线看| 国产视频一区欧美| 欧美一区国产一区| 麻豆国产精品一区二区三区| 激情成人综合网| 免费高清在线一区| 亚洲国产综合91精品麻豆| 一本久久青青| 国产精品日韩一区| 欧美一区二区三区免费观看| 久久影视三级福利片| 亚洲高清精品中出| 欧美精品免费看| 亚洲网站在线观看| 欧美在线地址| 一区二区视频在线观看| 欧美黑人在线播放| 亚洲视频日本| 亚洲国产日韩精品| 欧美一区二区三区久久精品| 国产日韩欧美在线一区| 久久手机免费观看| 亚洲区在线播放| 午夜电影亚洲| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲精品免费在线播放| 欧美大片网址| 在线视频精品| 老巨人导航500精品| aa国产精品| 国产视频久久网| 欧美大片在线观看一区| 亚洲少妇自拍| 亚洲高清毛片| 欧美一区二区三区的| 亚洲高清在线观看| 欧美调教视频| 免费精品视频| 性伦欧美刺激片在线观看| 欧美激情中文字幕一区二区| 亚洲免费视频在线观看| 激情综合自拍| 国产伦一区二区三区色一情| 美女诱惑黄网站一区| 亚洲一区免费网站| 亚洲国产经典视频| 久久久久免费| 亚洲欧美日韩综合一区| 亚洲国产成人精品视频| 国产精品视频导航| 欧美国产高清| 美女脱光内衣内裤视频久久影院 | 亚洲图片在线观看| 在线观看日韩欧美| 国产伦精品一区二区三区四区免费| 欧美—级在线免费片|