Pagini recente » Cod sursa (job #528171) | Cod sursa (job #363284) | Cod sursa (job #3289497) | Borderou de evaluare (job #565571) | Cod sursa (job #2420506)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct fer {int x, y, u, v;}; /// x<=u si y<=v
fer dr[4];
fer inter(fer A, fer B)
{ fer Z;
Z.x=max(A.x, B.x);
Z.y=max(A.y, B.y);
Z.u=min(A.u, B.u);
Z.v=min(A.v, B.v);
if(Z.x>Z.u || Z.y>Z.v) Z={0,0,0,0};
return Z;
}
long long arie(fer A)
{ return 1LL*(A.u-A.x)*(A.v-A.y); }
long long per(fer A)
{ return 2LL*((A.u-A.x)+(A.v-A.y)); }
int main()
{ for(int i=1;i<=3;i++) f>>dr[i].x>>dr[i].y>>dr[i].u>>dr[i].v;
long long tota=arie(dr[1])+arie(dr[2])+arie(dr[3])-arie(inter(dr[1],dr[2]))-arie(inter(dr[2],dr[3]))-arie(inter(dr[1],dr[3]))+arie(inter(inter(dr[1],dr[2]),dr[3]));
long long totp=per(dr[1])+per(dr[2])+per(dr[3])-per(inter(dr[1],dr[2]))-per(inter(dr[2],dr[3]))-per(inter(dr[1],dr[3]))+per(inter(inter(dr[1],dr[2]),dr[3]));
g<<tota<<" "<<totp;
g.close();
return 0;
}