POJ 2318 TOYS 點與直線的位置關係)

2021-10-03 11:59:53 字數 811 閱讀 2899

題:

乙個矩形區域中有n條互不相交的線段,每條線段的上下端點分別在矩形的上下邊上,現給出該矩形區域中m個點的座標,保證點不在邊上,統計由這n條邊將矩形分成的n+1個區域中各有多少個點。

輸入:多組用例,每組用例第一行六個整數n,m,xl,yl,xr,yr分別表示邊數,點數,矩形區域左上角的橫縱座標(xl,yl),矩形區域右下角的橫縱座標(xr,yr),之後n行每行兩個整數x1和x2表示該條邊上下端點的橫座標,最後m行每行兩個數x和y表示該點座標。

輸出:每個區域包含的點數

sample output

0: 2

1: 1

2: 1

3: 1

4: 0

5: 1

思路:每輸入乙個點,判斷這個點在哪些邊的右邊,找到最後一條邊,該點就在這個區域內(因為區域是從0開始編號)。

**:

#include #include #include using namespace std;

const int n=5010;

struct nodep[n];

//判斷某點是否在某邊的右側

bool is_right(int x,int y,int a) //a是邊的下標

int main()

int cnt[n]=;

while(m--)

for(int i=0;i<=n;i++)

printf("%d:%d\n",i,cnt[i]);

res++; }

return 0;

}

poj23

POJ 2318 TOYS 點與線段關係

乙個玩具箱被n個擋板分成n 1快,擋板不會互相交叉。將m個玩具扔進去,求分別被扔進了哪個區域。主要演算法就是判斷點與線段的關係,排序後從左往右依此判別即可。memory 480k time 485ms include include include using namespace std struc...

poj 2318 TOYS 點與矩形的關係

假設玩具 p 在第 i 個區域,其左邊為第 i 條線段 a 1b 1 右邊為第 i 1 條線段 a 2b 2 a 在上邊,b 在下邊 則有 overrightarrow times overrightarrow gt 0 且 overrightarrow times overrightarrow l...

POJ 2318 TOYS(計算幾何)

description 乙個矩形區域中有n條互不相交的線段,每條線段的上下端點分別在矩形的上下邊上,現給出該矩形區域中m個點的座標,保證點不在邊上,統計由這n條邊將矩形分成的n 1個區域中各有多少個點 input 多組用例,每組用例第一行六個整數n,m,xl,yl,xr,yr分別表示邊數,點數,矩形...