題目描述
給定n個線段。求有交點的線段對數。
保證沒有兩條線段共線
輸入一行乙個整數n,表示線段的個數
第2~n+1行,每行四個實數,x1,y1,x2,y2,表示線段的兩個端點(x1,y1)和(x2,y2)
輸出一行乙個整數,表示有交點的線段對數。
3樣例輸出0.00 0.00 1.00 1.00
0.00 1.00 1.00 0.00
0.00 0.00 1.00 0.00
3提示
(0,0)(1,1)和(0,1)(1,0)有交點
(0,0)(1,1)和(0,0)(1,0)有交點
(0,1)(1,0)和(0,0)(1,0)有交點
對於100%的資料,n≤100
點的座標範圍(−10000,10000)
資料範圍就在100以內,所以貢獻出了乙個n方的演算法,就暴力列舉每兩條線段,判斷是否有交點即可。
#include#define int long long
using namespace std;
const int maxn = 110;
struct point
point(int a,int b)
void input()
};bool judge(point &a,point &b,point &c,point &d)
point xx[maxn],yy[maxn];
signed main()
int ans = 0;
for(int i = 0;i < n; i++)
}cout << ans << endl;
return 0;
}
線段交 判斷兩線段是否有交點
題目鏈結 給定n個線段。求有交點的線段對數。保證沒有兩條線段共線 輸入一行乙個整數n,表示線段的個數 第2 n 1行,每行四個實數,x1,y1,x2,y2,表示線段的兩個端點 x1,y1 和 x2,y2 輸出一行乙個整數,表示有交點的線段對數。樣例輸入 複製樣例資料 3 0.00 0.00 1.00...
計算幾何之 判斷兩個線段是否相交
1.判斷兩個線段是否相交,需要檢測線段是否兩兩橫跨。所謂橫跨,即是點p1 位於向量n 的一邊,且另一點p2 位於向量n 的另一邊 2.此外,還需考慮邊界情況,即一條線段的某個端點位於另一條線段上。判斷線段p1p2,p3p4 是否相交,演算法流程如下 segment intersect p1,p2,p...
判斷兩個線段是否相交
html xmlns lang en charset utf 8 判斷兩個線段是否相交問題title rel stylesheet href css reset.css rel stylesheet href css style.css head class wrap 判斷兩個線段是否相交h2 br...