Pagini recente » Cod sursa (job #834389) | Cod sursa (job #1618039) | Istoria paginii runda/simulare_de_oni_10 | Cod sursa (job #2856114) | Cod sursa (job #1264970)
# include <bits/stdc++.h>
using namespace std;
ifstream fi("reuniune.in");
ofstream fo("reuniune.out");
struct cc{int x,y,z,t;} a[4];
int peri(cc a)
{
return 2*(a.z - a.x + a.t - a.y);
}
int arie(cc a)
{
return (a.z - a.x) * (a.t - a.y);
}
cc inter(cc a,cc b)
{
cc p;
p.x=max(a.x,b.x);
p.y=max(a.y,b.y);
p.z=min(a.z,b.z);
p.t=min(a.t,b.t);
if (p.x>p.z || p.y>p.t) p.x=p.y=p.z=p.t=0;
return p;
}
int main(void)
{
for (int i=1;i<4;++i) fi>>a[i].x>>a[i].y>>a[i].z>>a[i].t;
int ans1,ans2;
ans1=arie(a[1])+arie(a[2])+arie(a[3])-arie(inter(a[1],a[2]))-arie(inter(a[2],a[3]))-arie(inter(a[1],a[3]))+arie(inter(inter(a[1],a[2]),a[3]));
ans2=peri(a[1])+peri(a[2])+peri(a[3])-peri(inter(a[1],a[2]))-peri(inter(a[2],a[3]))-peri(inter(a[1],a[3]))+peri(inter(inter(a[1],a[2]),a[3]));
return fo << ans1 << ' ' << ans2 << '\n',0;
}