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...