poj2318 TOYS 線劃分矩形

2021-08-27 02:52:28 字數 643 閱讀 5180

//題目意思:

//在乙個矩形中用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...