CQOI2005 三角形面積並

2021-09-05 07:12:24 字數 1650 閱讀 3606

給出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表示輸入...