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 問題描述 基本問題 判斷二維平面上的兩條線段是否相交。注意 相交有很多種,這裡指的 相交 是指兩條線段恰好有唯一乙個不是端點的...