日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ 2653 Pick-up sticks (线段相交)

發布時間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 2653 Pick-up sticks (线段相交) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:給你n條線段依次放到二維平面上,問最后有哪些沒與前面的線段相交,即它是頂上的線段

?

題解:數據弱,正向純模擬可過

但是有一個陷阱:如果我們從后面向前枚舉,找與前面哪些相交,再刪除前面那些相交的線段,這樣就錯了

因為如果線段8與5,6,7相交了,我們接下來不能直接判斷4,我們還要找7,6,5與之前哪些相交

?

#include<set> #include<map> #include<queue> #include<stack> #include<cmath> #include<vector> #include<string> #include<cstdio> #include<cstring> #include<iomanip> #include<stdlib.h> #include<iostream> #include<algorithm> using namespace std; #define eps 1E-8 /*注意可能會有輸出-0.000*/ #define Sgn(x) (x<-eps? -1 :x<eps? 0:1)//x為兩個浮點數差的比較,注意返回整型 #define Cvs(x) (x > 0.0 ? x+eps : x-eps)//浮點數轉化 #define zero(x) (((x)>0?(x):-(x))<eps)//判斷是否等于0 #define mul(a,b) (a<<b) #define dir(a,b) (a>>b) typedef long long ll; typedef unsigned long long ull; const int Inf=1<<28; const ll INF=1ll<<60; const double Pi=acos(-1.0); const int Mod=1e9+7; const int Max=100010; struct point {double x,y; }; struct line {point a,b; }; 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 isIntersected(point p1,point p2,point l1,point l2) {return (max(p1.x,p2.x)>=min(l1.x,l2.x)) &&(max(p1.y,p2.y)>=min(l1.y,l2.y)) &&(max(l1.x,l2.x)>=min(p1.x,p2.x)) &&(max(l1.y,l2.y)>=min(p1.y,p2.y)) &&(xmult(l1,p2,p1)*xmult(p2,l2,p1)>0) &&(xmult(p1,l2,l1)*xmult(l2,p2,l1)>0) ; } line sti[Max]; int ans[Max],vis[Max]; int Solve(int n) {int coun=0;for(int i=1;i<=n;++i){for(int j=i+1;j<=n;++j){if(isIntersected(sti[i].a,sti[i].b,sti[j].a,sti[j].b)){vis[i]=0;break;}}}for(int i=n;i;--i)if(vis[i])ans[coun++]=i;return coun; } int main() {int n;while(~scanf("%d",&n)&&n){for(int i=1;i<=n;++i){scanf("%lf %lf %lf %lf",&sti[i].a.x,&sti[i].a.y,&sti[i].b.x,&sti[i].b.y);vis[i]=1;}int coun=Solve(n);printf("Top sticks: ");for(int i=coun-1;~i;--i){printf("%d%s",ans[i],i?", ":".\n");}}return 0; }

?

轉載于:https://www.cnblogs.com/zhuanzhuruyi/p/6032257.html

總結

以上是生活随笔為你收集整理的POJ 2653 Pick-up sticks (线段相交)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级网 | 影音先锋成人资源网 | aaaa黄色片 | 欧美怡春院 | 国产亚洲精品成人 | 国产视频久久久久久久 | 久久国语对白 | 日韩综合久久 | www.天堂av.com| 天天碰免费视频 | 波多野结衣三级视频 | 久久九精品 | 黄色av免费 | 欧美成人精品欧美一级私黄 | 日本黄大片在线观看 | 日韩成人福利视频 | 欧美福利视频在线观看 | 豆花免费跳转入口官网 | 中文字幕高清 | 黄色a级片在线观看 | 国产资源第一页 | 绿帽在线 | 在线看片你懂的 | 少妇高潮迭起 | 性日本xxx | 成人在线视频免费观看 | 成年人网站黄 | 亚洲国产精品一区二区尤物区 | 高h校园不许穿内裤h调教 | 素人一区二区三区 | 日韩精品一区二区三区在线视频 | 精品av一区二区 | 国产在线播放一区 | 蜜乳av一区二区三区 | 国模大尺度视频 | 欧美色视频在线 | av影视在线观看 | 日本美女久久久 | 992tv在线影院 | 国产视频四区 | 超碰人人草 | 女尊高h男高潮呻吟 | 婷婷午夜精品久久久久久性色av | 日韩第一页 | 午夜国产福利视频 | 乳罩脱了喂男人吃奶视频 | 国产精品欧美激情在线 | 大肉大捧一进一出好爽视频 | 卡一卡二在线视频 | 久久婷婷精品 | 亚洲男女 | 美女视频一区 | jizz免费在线观看 | 亚洲欧美激情在线观看 | 欧美乱码精品一区二区 | 中文字幕无线码 | 高潮一区二区三区乱码 | 亚洲av永久无码国产精品久久 | 免费看成人aa片无码视频羞羞网 | 蜜臀av色欲a片无码精品一区 | 麻豆传媒网站在线观看 | 性做久久久久久久免费看 | 韩国三级hd中文字幕有哪些 | 激情91视频| 免费av看| 欧美一卡二卡三卡四卡 | 日韩黄色录像 | 成人av亚洲 | 亚洲区视频在线观看 | 久久女同互慰一区二区三区 | 不卡av免费观看 | 四虎影酷 | 99视频导航 | 91观看视频 | 亚洲成人精品一区二区三区 | 免费一级特黄特色大片 | 无码人妻精品丰满熟人区 | 18无码粉嫩小泬无套在线观看 | 国产精品无码99re | 韩日一级片| 欧美 丝袜 自拍 制服 另类 | av电影在线网站 | 在线免费观看高清视频 | 熟女人妻aⅴ一区二区三区60路 | 欧美剧场 | 中文字幕人妻一区二区三区在线视频 | 韩国三级免费 | 亚洲性网| 毛片免 | 欧美专区亚洲专区 | 网站在线播放 | 精品性久久| 亚洲无码精品免费 | 手机在线亚洲 | h在线播放 | 夜夜嗨av禁果av粉嫩av懂色av | 久久国产精品免费看 | 粉色午夜视频 | 国产欧美精品在线观看 |