CSES 2190 - Line Segment Intersection
1.0s 512M有兩條線段:第一條通過點 \((x_1,y_1)\) 與 \((x_2,y_2)\),第二條通過點 \((x_3,y_3)\) 與 \((x_4,y_4)\)。
你的任務是判斷這兩條線段是否相交,也就是它們是否至少有一個共同點。
輸入格式
第一行輸入有一個整數 \(t\):測試的筆數。
接下來有 \(t\) 行描述這些測試,每行有八個整數 \(x_1\)、\(y_1\)、\(x_2\)、\(y_2\)、\(x_3\)、\(y_3\)、\(x_4\) 與 \(y_4\)。
輸出格式
對每筆測試,如果兩條線段相交就輸出 YES,否則輸出 NO。
範例輸入 1
5
1 1 5 3 1 2 4 3
1 1 5 3 1 1 4 3
1 1 5 3 2 3 4 1
1 1 5 3 2 4 4 1
1 1 5 3 3 2 7 4
範例輸出 1
NO
YES
YES
YES
YES
限制
- \(1 \le t \le 10^5\)
- \(-10^9 \le x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4 \le 10^9\)
- \((x_1,y_1) \neq (x_2,y_2)\)
- \((x_3,y_3) \neq (x_4,y_4)\)
題目來源
CSES - Line Segment Intersection
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入