描述
歡迎來到德萊聯盟。。。。
德萊文。。。
德萊文在逃跑,卡茲克在追。。。。
我們知道德萊文的起點和終點座標,我們也知道卡茲克的起點和中點座標,問:卡茲克有可能和德萊文相遇嗎?,並且保證他們走的都是直線。
輸入
幾組資料,乙個整數t表示t組資料
每組資料 8個實數,分別表示德萊文的起點和終點座標,以及卡茲克的起點和終點座標
輸出如果可能 輸出 interseetion,否則輸出 not interseetion
樣例輸入
2-19.74 7.14 22.23 -27.45 -38.79 -5.08 47.51 34.01
-8.61 9.91 -32.47 6.47 -3.81 -16.1 7.82 -6.37
樣例輸出
interseetionnot interseetion
思路 根據叉乘 直線ab 直線cd 如果c d點在ab線段的兩邊 ,則ac向量與ad向量在ab向量的順時針逆時針方向(或者 逆時針 順時針方向)
即根據叉乘性質可ac
**:#include#includeusing namespace std;
struct node st1,ed1,st2,ed2;
double area(node ss1,node ee1,node ss2)
int main()
{ int t,i,j;
cin>>t;
while(t--)
{cin>>st1.x>>st1.y>>ed1.x>>ed1.y>>st2.x>>st2.y>>ed2.x>>ed2.y;
double s1=area(st1,ed1,st2);
double s2=area(st1,ed1,ed2);
double s3=area(st2,ed2,st1);
double s4=area(st2,ed2,ed1);
if(s1*s2<=0&&s3*s4<=0)
cout<<"interseetion"<
德萊聯盟(判斷線段是否相交)
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 歡迎來到德萊聯盟。德萊文。德萊文在逃跑,卡茲克在追。我們知道德萊文的起點和終點座標,我們也知道卡茲克的起點和中點座標,問 卡茲克有可能和德萊文相遇嗎?並且保證他們走的都是直線。輸入 幾組資料,乙個整數t表示t組資料 每組資料 8...
德萊聯盟 判斷線段相交
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 歡迎來到德萊聯盟。德萊文。德萊文在逃跑,卡茲克在追。我們知道德萊文的起點和終點座標,我們也知道卡茲克的起點和中點座標,問 卡茲克有可能和德萊文相遇嗎?並且保證他們走的都是直線。輸入 幾組資料,乙個整數t表示t組資料 每組資料 8...
判斷兩矩形是否相交
判斷兩矩形是否相交,因若矩形相交時,在x軸方向和y軸方向必然存在重疊的部分,因此可將其轉化為兩條直線是否重疊的問題上。假設矩形的表示方法為 class rectangle x,y為矩形的位置點,width表示長,height表示寬。width與height可為正負數。width 0,height 0...