//題目意思:
//在乙個矩形中用n條線來劃分(劃分的線不交叉此而且只能分左右方向 ),
//給出m個點,求乙個區域內分別有多少點。
//解題思路:
//判斷點在直線的左邊還是右邊
//**如下:
#include#include#include#define eps 1e-8
struct point;
struct line;
int _sign(double x)
double xmult(point p1,point p2,point p0)
line twopoline(point p1,point p2)
bool isright(point q,line l)
line l[5002];
point q[5002];
point p[5002][2];
int flag[5002];
int main()
}sum+=cnt;
printf("%d: %d\n",i,cnt);
} printf("%d: %d\n",i,m-sum);
k++;
} return 0;
}
POJ 2318 TOYS(計算幾何)
description 乙個矩形區域中有n條互不相交的線段,每條線段的上下端點分別在矩形的上下邊上,現給出該矩形區域中m個點的座標,保證點不在邊上,統計由這n條邊將矩形分成的n 1個區域中各有多少個點 input 多組用例,每組用例第一行六個整數n,m,xl,yl,xr,yr分別表示邊數,點數,矩形...
POJ 2318 TOYS 計算幾何
點我看題 題意 用n個分隔板把乙個矩形分成n 1個部分,然後有m個點分布在這個矩形上,問每個區域上能有多少個點。分析 利用叉乘和二分解題。首先預處理出這些分隔板,然後對每個點進行二分,二分條件是看當前要判斷的點在隔板的左還是右,而利用叉乘正好可以判斷點在左還是右邊。include include i...
poj2318 TOYS(計算幾何)
那些年不想寫的計算幾何,總有一天要還。直接列舉點,列舉四邊形即可,只要用叉乘判斷點是否在兩條線段中間即可。o n m o nm o nm include include include include include using namespace std define ll long long d...