会网站开发没学历,广东建设协会网站,品牌设计包括哪些设计,模仿网站属于侵权吗解析
暴力求出所有三角形之间的所有交点#xff0c;提出所有的横坐标。 然后任意两个相邻的横坐标之间的面积都是若干个梯形。 那么就可以求出对于每一个横坐标截得的三角形长度的并的和#xff0c;然后加在一起乘高除以二即可。
在这里插入代码片#includebits/stdc.h提出所有的横坐标。 然后任意两个相邻的横坐标之间的面积都是若干个梯形。 那么就可以求出对于每一个横坐标截得的三角形长度的并的和然后加在一起乘高除以二即可。
在这里插入代码片#includebits/stdc.h
using namespace std;
#define ll long long
#define ull unsigned long long
#define debug(...) fprintf(stderr,__VA_ARGS__)
//#define ok debug(OK\n)
inline ll read() {ll x(0),f(1);char cgetchar();while(!isdigit(c)) {if(c-) f-1;cgetchar();}while(isdigit(c)) {x(x1)(x3)c-0;cgetchar();}return x*f;
}
const int N2e5100;
const double eps1e-10;
const double inf1e9;int n,m;struct pt {double x,y;
} p[N];
inline pt operator (const pt a,const pt b) {return (pt) {a.xb.x,a.yb.y};
}
inline pt operator - (const pt a,const pt b) {return (pt) {a.x-b.x,a.y-b.y};
}
inline pt operator * (const double k,const pt a) {return (pt) {k*a.x,k*a.y};
}
inline pt operator / (const pt a,const double k) {return (pt) {a.x/k,a.y/k};
}
inline pt operator * (const pt a,const double k) {return (pt) {k*a.x,k*a.y};
}
inline double operator * (const pt a,const pt b) {return a.x*b.xa.y*b.y;
}
inline double operator ^ (const pt a,const pt b) {return a.x*b.y-b.x*a.y;
}
inline double len (const pt a) {return sqrt(a.x*a.xa.y*a.y);
}
inline pt danwei(const pt a) {return a/len(a);
}
inline pt chui(const pt a) {return (pt) {a.y,-a.x};
}
void print(pt o,int op1) {printf(%.2lf %.2lf,o.x,o.y);putchar(op?\n: );return;
}
void input(pt o) {scanf(%lf%lf,o.x,o.y);
}struct line {pt a,b,d;
};void input(line l) {double a,b,c,d;scanf(%lf%lf%lf%lf,a,b,c,d);l(line) {(pt) {a,b},(pt) {c,d},(pt) {c-a,d-b}};return;
}
void print(line l,int op1){print(l.a,0);print(l.b,op);
}
inline line trans(double a,double b,double c,double d) {return (line) {(pt) {a,b},(pt) {c,d},(pt) {c-a,d-b}};
}
inline line trans(const pt a,const pt b) {return (line) {a,b,b-a};
}
int pos(const line l1,const line l2) {if(abs(l1.d^l2.d)eps) return 1;else if(abs((l2.a-l1.a)^l1.d)eps) return 2;else return 3;
}
pt jiaodian(const line l1,const line l2) {double k((l2.a-l1.a)^l2.d)/(l1.d^l2.d);return l1.a(k*l1.d);
}
pt a[N],b[N],c[N];
line l[N][4];
double q[N];
int cnt;
bool ok(line l,pt o){return (l.a.x-epso.xo.xl.b.xeps)||(l.b.x-epso.xo.xl.a.xeps);
}
struct seg{double l,r;bool operator (const seg oth)const{return loth.l;}
}s[N];
int num;
line L;
double w[5];
void work(int k){int jd(0);//printf(work : %d\n,k);for(int i1;i3;i){if(abs(l[k][i].d.x)eps) continue;pt ojiaodian(l[k][i],L);//print(o,1);if(ok(l[k][i],o)) w[jd]o.y;}if(jd1){num;s[num].ls[num].rw[1];for(int i2;ijd;i) s[num].lmin(s[num].l,w[i]);for(int i2;ijd;i) s[num].rmax(s[num].r,w[i]);//printf((%.2lf %.2lf)\n,s[num].l,s[num].r);}
}
double calc(double x){num0;Ltrans(x,0,x,1);for(int i1;in;i) work(i);sort(s1,s1num);double l-inf,r-inf,res0;for(int i1;inum;i){if(s[i].lreps) rmax(r,s[i].r);else{resr-l;ls[i].l;rs[i].r;}}resr-l;return res;
}
signed main() {
#ifndef ONLINE_JUDGE//freopen(a.in,r,stdin);//freopen(a.out,w,stdout);
#endifreturn 0;
}
/*
2
0.0 0.0 20.0 28.0 10.0 35.0
-50.0 0.0 -70.8 -33.5 -30.5 -10.5
*/