北京G,計算幾何,線段相交

2022-08-15 06:15:12 字數 1663 閱讀 7466

bfs肯定沒問題了,

不過中間的判斷非常噁心

關鍵是三角形

出題人:這題很容易懷疑人生

提供幾組資料(from zm)

2

0 00 2

2 0....2

1 10 1

1 0....2

0.5 0.5

0.5 1.5

1.5 0.5

....

計算幾何的邊界好搞啊

#include 

#include

#include

#include

#include

#include

#include

#include

typedef

long

long ll;

using

namespace

std;

const

int n = 22;

const

int dx = ;

const

int dy = ;

struct point

point(double _x, double _y): x(_x),y(_y){}

inline

void read()

point operator + (const point &a) const

point operator - (const point &a) const

point operator * (const

double &k) const

double

operator ^ (const point &a) const

double dis(const point &b)

inline

void print()

bool onseg(point p1, point p2)

} a, b, c;

double s(point p, point a, point b)

bool intra(point p, point a, point b, point c)

bool segxseg(point p1, point p2, point p3, point p4)

bool xj(point p1, point p2, point a, point b, point c)

bool wea[n][n]; // weather

bool vis[n][n];

int step[n][n];

int bfs(const

int &n, int sx, int sy)

}return -1;

}int main()

scanf("\n");

for (int j = n-1; j >= 0; j--)

scanf("\n");

}int ans = bfs(n, 0, 0);

printf("%d\n", ans);

}return

0;}

計算幾何 線段相交

問題描述 已知兩條線段p1p2和q1q2,判斷p1p2和q1q2是否相交,若相交,求出交點。兩條線段的位置關係可以分為三類 有重合部分 無重合部分但有交點 無交點。演算法的步驟如下 1.快速排斥實驗。設以線段p1p2為對角線的矩形為r,設以線段q1q2為對角線的矩形為t,如果r和t不相交,則兩線段不...

計算幾何 判斷線段相交(一)

兩個線段的交點個數可能有0個 1個或者無數個 判斷兩個線段相交,可以按照如下步驟 計算叉積時異號 計算叉積時異號 3.下面是判斷線段相交的程式 include include using namespace std define min x,y x define max x,y x y x y co...

計算幾何之判斷線段相交

計算幾何 判斷線段相交 time limit 1000ms memory limit 65536k description 線段相交 linecross.pas c cpp 問題描述 基本問題 判斷二維平面上的兩條線段是否相交。注意 相交有很多種,這裡指的 相交 是指兩條線段恰好有唯一乙個不是端點的...