国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

zoj1158判斷2線段完全相交

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 07:19:25
文檔

zoj1158判斷2線段完全相交

zoj1158判斷2線段完全相交:一個正方形的古老墓園,有n面墻,墻的端點都在正方形的邊上。已知墓碑的地點(x,y),問從外面一直到達墓碑至少要鑿開幾個門,而且規(guī)定門只能鑿在當(dāng)前點段的中點。 思路很巧妙,因為從一個點到終點不可能繞過圍墻,只能傳過去,所以門是否開在中點是無所謂
推薦度:
導(dǎo)讀zoj1158判斷2線段完全相交:一個正方形的古老墓園,有n面墻,墻的端點都在正方形的邊上。已知墓碑的地點(x,y),問從外面一直到達墓碑至少要鑿開幾個門,而且規(guī)定門只能鑿在當(dāng)前點段的中點。 思路很巧妙,因為從一個點到終點不可能繞過圍墻,只能傳過去,所以門是否開在中點是無所謂

一個正方形的古老墓園,有n面墻,墻的端點都在正方形的邊上。已知墓碑的地點(x,y),問從外面一直到達墓碑至少要鑿開幾個門,而且規(guī)定門只能鑿在當(dāng)前點段的中點。 思路很巧妙,因為從一個點到終點不可能“繞過”圍墻,只能傳過去,所以門是否開在中點是無所謂

一個正方形的古老墓園,有n面墻,墻的端點都在正方形的邊上。已知墓碑的地點(x,y),問從外面一直到達墓碑至少要鑿開幾個門,而且規(guī)定門只能鑿在當(dāng)前點段的中點。

思路很巧妙,因為從一個點到終點不可能“繞過”圍墻,只能傳過去,所以門是否開在中點是無所謂的,只要求四周線段中點到終點的線段與墻的最少交點個數(shù)即可。更進一步,實際上,只需判斷四周圍墻的所有點與終點的連線與內(nèi)墻的最少交點加一即可。


const double eps = 1e-8 ;

double add(double x , double y){
 if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;
 return x + y ;
}

struct Point{
 double x , y ;
 Point(){}
 Point(double _x , double _y):x(_x),y(_y){}
 Point operator + (Point o){
 return Point(add(x , o.x) , add(y , o.y)) ;
 }
 Point operator - (Point o){
 return Point(add(x , -o.x) , add(y , -o.y)) ;
 }
 Point operator * (double o){
 return Point(x*o , y*o) ;
 }
 double operator ^(Point o){
 return add(x*o.y , -y*o.x) ;
 }
 double dist(Point o){
 return sqrt((x-o.x)*(x-o.x) + (y-o.y)*(y-o.y)) ;
 }
 void read(){
 scanf("%lf%lf" ,&x , &y) ;
 }
};

int interdiv(Point p1 , Point p2 , Point q1 , Point q2){
 double d1 = (p2 - p1) ^ (q1 - p1) ;
 double d2 = (p2 - p1) ^ (q2 - p1) ;
 double d3 = (q2 - q1) ^ (p1 - q1) ;
 double d4 = (q2 - q1) ^ (p2 - q1) ;
 return d1 * d2 < 0 && d3 * d4 < 0 ;
}

struct Line{
 Point s , t ;
 Line(){}
 Line(Point _s , Point _t):s(_s),t(_t){}
 int intersect(Line o){ // 直線與線段O是否相交
 return interdiv(s , t , o.s , o.t) ;
 }
 void read(){
 s.read() , t.read() ;
 }
 friend bool operator < (const Line A ,const Line B){
 return A.s.x < B.s.x ;
 }
};

vector lisline ;
vector lispoint ;

int main(){
 int t , k , n , i , j , T = 1 ;
 Point ed , ls , ld ;
 cin>>t ;
 while(t--){
 cin>>n ;
 lispoint.clear() ;
 lisline.clear() ;
 lispoint.push_back(Point(0.0 , 0.0)) ;
 lispoint.push_back(Point(0.0 , 100.0)) ;
 lispoint.push_back(Point(100.0 , 0.0)) ;
 lispoint.push_back(Point(100.0 , 100.0)) ;
 for(i = 1 ; i <= n ; i++){
 ls.read() , ld.read() ;
 lispoint.push_back(ls) ;
 lispoint.push_back(ld) ;
 lisline.push_back(Line(ls , ld)) ;
 }
 ed.read() ;
 int ans = 100000000 , sum ;
 for(i = 0 ; i < lispoint.size() ; i++){
 Line now = Line(lispoint[i] , ed) ;
 sum = 0 ;
 for(j = 0 ; j < lisline.size() ; j++){
 if(now.intersect(lisline[j])) sum++ ;
 }
 ans = min(ans , sum) ;
 }
 if(T != 1) puts("") ;
 T++ ;
 printf("Number of doors = %d\n" , ans+1) ;
 }
 return 0 ;
}

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

zoj1158判斷2線段完全相交

zoj1158判斷2線段完全相交:一個正方形的古老墓園,有n面墻,墻的端點都在正方形的邊上。已知墓碑的地點(x,y),問從外面一直到達墓碑至少要鑿開幾個門,而且規(guī)定門只能鑿在當(dāng)前點段的中點。 思路很巧妙,因為從一個點到終點不可能繞過圍墻,只能傳過去,所以門是否開在中點是無所謂
推薦度:
標(biāo)簽: 一個 判斷 完全
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: a欧美在线| 精品免费在线 | 亚洲国产精品一区 | 一本色道久久88综合亚洲精品高清 | 国产色综合久久无码有码 | 亚洲欧美另类自拍第一页 | 欧美嫩交 | 免费一看一级毛片全播放 | 欧美综合视频 | 日韩网址 | 国产精品久久久久久亚洲伦理 | 国产成人精品综合久久久 | 亚洲视频免费在线观看 | 亚洲成人国产 | 午夜日韩视频 | 国产成人欧美一区二区三区的 | 亚洲a∨精品一区二区三区下载 | 国产不卡一区二区视频免费 | 久久综合中文字幕一区二区 | 精品欧美一区二区三区免费观看 | 欧美日韩亚洲视频 | 一级大黄毛片 | 欧美视频亚洲色图 | 国产 日韩 欧美视频二区 | 欧美一区二区在线观看免费网站 | 香蕉视频在线免费看 | 在线播放精品一区二区啪视频 | 日韩网站 | 日本v片免费一区二区三区 欧洲精品欧美精品 | 国产精品一区二区不卡 | 欧美人伦| 国产最新网站 | 欧美日韩国产一区 | 在线 v亚洲 v欧美v 专区 | 91香蕉国产亚洲一区二区三区 | 日韩欧美亚洲视频 | 一级毛片一级毛片 | 色婷婷综合久久久久中文一区二区 | www.九九热| 亚洲欧美韩国 | 国产网站精品 |