csu J 1812 三角形和矩形

2021-08-24 18:12:33 字數 1646 閱讀 7881

submit page    summary   time limit: 5 sec     memory limit: 128 mb     submitted: 7     solved: 3     specialjudge

bobo 有乙個三角形和乙個矩形,他想求他們交的面積。

具體地,三角形和矩形由 8 個整數 x1,y1,x2,y2,x3,y3,x4,y4 描述。 表示三角形的頂點座標是 (x1,y1),(x1,y2),(x2,y1), 矩形的頂點座標是 (x3,y3),(x3,y4),(x4,y4),(x4,y3).

輸入包含不超過 30000 組資料。

每組資料的第一行包含 4 個整數 x1,y1,x2,y2 (x1≠x2,y1≠y2).

第二行包含 4 個整數 x3,y3,x4,y4 (x3(0≤xi,yi≤104)

對於每組資料,輸出乙個實數表示交的面積。絕對誤差或相對誤差小於 10-6 即認為正確。

1 1 3 3

0 0 2 2

0 3 3 1

0 0 2 2

4462 1420 2060 2969

4159 257 8787 2970

1.00000000

0.75000000

439744.13967527

/*

* 還要判斷是凸包還是凹包,呼叫相應的函式

* 面積並,只要和面積減去交即可

*/#include using namespace std;

const int maxn = 100005;

const double eps = 1e-8;

int dcmp(double x)

struct point

z;double cross(point a,point b,point c) ///叉積

point intersection(point a,point b,point c,point d)

//計算多邊形面積

double polygonarea(point p, int n)

double cpia(point a, point b, int na, int nb)//convexpolygonintersectarea

memcpy(p, tmp, sizeof(point) * tn);

nb = tn, p[nb] = p[0];

}if(nb < 3) return 0.0;

return polygonarea(p, nb);

}double spia(point a, point b, int na, int nb)///******polygonintersectarea 呼叫此函式

}return res;

}bool cmp_node(point a,point b)

void sort_j(point p,int n)

swap(p[pos],p[0]);

z=p[0];

sort(p+1,p+n,cmp_node);

}point p1[maxn], p2[maxn];

int n1, n2;

int main()

return 0;

}

CSU 1812 三角形和矩形

注意 點逆序可以用半平面交或者多邊形面積交 半平面交 至 include using namespace std define e exp 1.0 define mod 1000000007 define inf 0x3f3f3f3f typedef long long ll define inf ...

CSU 1812 三角形和矩形 幾何

description bobo 有乙個三角形和乙個矩形,他想求他們交的面積。具體地,三角形和矩形由 8 個整數 x 1,y 1,x 2,y 2,x 3,y 3,x 4,y 4 描述。表示三角形的頂點座標是 x 1,y 1 x 1,y2 x 2,y 1 矩形的頂點座標是 x 3,y 3 x 3,y ...

canvas繪製矩形 三角形 圓形

1 繪製矩形 charset utf 8 canvas繪製矩形title canvas style window.onload function script head id canvas1 width 600 height 300 canvas body html 效果如下 方法詳解 contex...