題目鏈結
給定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)
#include #include #include #include #include #include #include #include #include #include #include using namespace std;
#define io ios::sync_with_stdio(0),cin.tie(0)
#define ms(arr) memset(arr,0,sizeof(arr))
#define mc(a,b) memcpy(a,b,sizeof(b))
#define inf 0x3f3f3f
#define fin freopen("in.txt", "r", stdin)
#define fout freopen("out.txt", "w", stdout)
typedef long long ll;
typedef unsigned long long ull;
const int mod=1e9+7;
const int n=1e5+7;
struct node
;int n;
node ps[n],pe[n];
bool is_xiangjiao(node a,node b,node c,node d)
int main()
int ans=0;
for(int i=1;i<=n;i++)
}printf("%d\n",ans);
return 0;
}
判斷兩線段是否有交點
之前做過有關熱帶氣旋路徑的資料分析,其中涉及到了對於熱帶氣旋是否登陸的判斷,那我的想法就是將大陸海岸線和路徑線分成若干個線段,路徑中的每一段分別和邊界線的每乙個線段分別作判斷。如果判斷兩先線段存在交點,則認為熱帶氣旋登陸,交點的奇數次代表登陸的次數。首先,有兩個線段p1p2和p3p4,如果p0定為原...
線段交(幾何問題判斷兩個線段是否有交點)
題目描述 給定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...
求兩直線交點 判斷兩線段相交 求線段交點
點的結構 struct point point double x,double y 線段的結構 struct egde egde point a,point b 建立的邊,存在的線段求兩直線 線段 交點 void getpoint point p1,point p2,point p3 point p...