給出n個三角形,求它們的面積並。
首先求出所有點的座標(包括三角形的頂點座標和三角形邊的所有交點),根據它們的橫座標分段之後可以發現每一部分的面積都等價於梯形,然後暴力求出這幾個橫座標上的線段長度和,再逐塊相加即可。
#include
#define db double
#define p pair
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define eps 1e-8
#define inf 0x3f3f3f3f
#define n 110
#define m 100100
using
namespace std;
int n,nn,xx;
db ans,zj=
666;
bool deb;
struct node
node operator+(
const node &u)
const;}
node operator-(
const node &u)
const;}
node operator*(
const db &u)
const;}
node operator/(
const db &u)
const;}
bool
operator
<
(const node u)
}node[m]
;struct xn
}xn[n*3]
;struct sj
sj[n]
;vectoruse;
inline db cj
(node u,node v)
inline
bool
up(node u,xn v)
inline
bool
bet(db u,xn v)
inline db xd
(db u,xn v)
inline
bool
yj(xn u,xn v)
inline node jd
(xn u,xn v)
inline db ask
(db u)
sort
(use.
begin()
,use.
end())
;for
(i=0
;isize()
;i=j)
res+
=r-use[i]
.fi;
}return res;
}int
main()
for(i=
1;i<=xx;i++)}
sort
(node+
1,node+nn+1)
; p=
ask(node[1]
.x);
for(i=1;
;i=j)
printf
("%.2f"
,ans-eps)
;}
三角形面積並 CQOI2005
題目描述 給出 n 個三角形,求它們並的面積。輸入格式 第一行為 n n leq 100 即三角形的個數 以下 n 行,每行 6 個整數 x 1,y 1,x 2,y 2,x 3,y 3 代表三角形的頂點座標。座標均為不超過 10 6 輸出格式 輸出並的面積 u 保留兩位小數。我們把三角形的所有頂點和...
三角形面積
算是自己第一道正式寫的演算法幾何吧,先從簡單的開始吧,加油!描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入 每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入結束...
三角形面積
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入...