題意:和poj2318基本輸入一樣,但有一些改變。1.輸入的線沒按著從小到大的順序,所以要先排序。2.輸出要的是有1~m個點之間有多少個區間。例:有5條線,分成區域0,區域1,區域2,區域3,區域4,區域5.分別有2,1,3,5,4,0個點,所以輸出就是1:1 2:1 3:1 4:1 5:1 ,再有就是看網上說用int會爆,所以改了一下範圍。
ac**:
#include#include#include
#include
#include
using
namespace
std;
struct
point
;point a[
5010],b[5010];//
a是線上面的點,b是下面的點
int c[5010
];int d[5010
];int det(point a,point b,point g)//
(g-b)*(a-b)
intmain()
a[n+1].x=g2.x;
b[n+1].x=g2.x;
a[0].x=g1.x;
b[0].x=g1.x;
for(int i=0; i<=n+1; i++)
for(int i=0;i1;i++)}}
//for(int i=1;i<=n;i++)
//printf("%i64d %i64d ",a[i].x,b[i].x);
n++;
intmid,t;
for(int i=1; i<=m; i++)
c[minn]++;
//printf("%d *\n",minn);
}//二分查詢,每次從中間的一根線判斷
printf("
box\n");
memset(d,
0,sizeof
(d));
for(int i=0;i<=n-1;i++)
d[c[i]]++;
for(int i=1;i<=m;i++)
if(d[i]>0)printf("
%d: %d\n
",i,d[i]);
}return0;
}
poj2398 計算幾何
poj2318的公升級版,只是中間的n個隔板未排序,輸出的是裝有i個玩具的區域的個數,其他完全一樣 poj2318的解題報告見 include include include include using namespace std struct point struct line line 5005...
poj 2398 叉積判斷點位置
今天起開始進攻計算幾何題目 第一題 rumtime了2次 某變數下標出錯 wa了1次 輸出排序出錯 鬱悶,我明明都已經很仔細檢查 了。題目貌似有點長,我稍微解釋一下。題意是在乙個箱子裡面加n個木板把箱子隔成幾個空間,之後有m個玩具隨機落入這幾個空間裡面。木板不相交 最後統計有t個玩具的空間有多少個 ...
poj1696 計算幾何
運用叉積判斷是否是逆時針,因為同一直線上也行,所以有n個植物就可以吃掉n個植物 include include include include include define dist a,b sqrt 1.0 a.x b.x a.x b.x 1.0 a.y b.y a.y b.y define cr...