#include#include #include #include #include #define max 5000
using namespace std;
const double eps = 1e-8;
struct point;
struct line ;
line l[max];
point base;
int t,n;
bool dy(double x,double y) // x > y
bool xy(double x,double y) // x < y
bool dyd(double x,double y) // x >= y
bool xyd(double x,double y) // x <= y
bool dd(double x,double y) // x == y
double crossproduct(point a,point b,point c)//向量 ac 在 ab 的方向
double dis(point p1,point p2)
point intersection(line l1,line l2)
double dot(point a,point b,point c)
bool judge(point p,line l)
else return false;
}int main()
printf("%d\n",num);
}return 0;
}
列舉每個端點和原點組成的射線與其他線段是否相交,若相交還需判斷交點是否在射線上,用點積判斷
開始怕超時用極角排序,但更麻煩,每個極角對應乙個極角範圍,逆時針旋轉掃瞄,用正負符號表示線段的開始和結束極角,但是會出現極角範圍大於180度的情況需要特殊處理,實在太麻煩不好搞
POJ 1753 POJ 2965 解題報告
poj 1753 poj 2965 解題報告 poj 1753 和 poj 2965 是同一型別的題目,但是2965 有乙個比較簡單的方法來解決。poj 1753 我用的是打表的方法,打表很不厚道。思路 首先我們需要確定儲存的資料結構,從網上搜得用二進位制位來存,這確實是個很巧妙的方法,例如,我們將...
poj 3074 poj 3076(精確覆蓋)
兩個題都是數獨,題意很明確。建圖的思路大神寫的很好 行 一共9 9 9 729行。一共9 9小格,每一格有9種可能性 1 9 每一種可能都對應著一行。列 一共 9 9 9 9 81 324 種前面三個9分別代表著9行9列和9小 塊。乘以9的意思是9種可能,因為每種可能只可以選擇乙個。81代表著81個...
poj 2420 poj1379 模擬退火
具體模擬退火的原理可參考 模擬退火可用於一些 精度 要求不是很高的題目。比如取答案的0.1,或者沒有小數點 poj2420 題意 給定n個點,找到乙個點,使得n個點到這個點的距離和最小 模擬退火法 模擬退火的過程 1 確定生成點的範圍,初設為矩形,在這個範圍內生成num個點 num自定 2 確定最高...