題:
乙個矩形區域中有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分別表示邊數,點數,矩形...