Pagini recente » Cod sursa (job #861990) | Cod sursa (job #1071241) | Cod sursa (job #404660) | Cod sursa (job #1062248) | Cod sursa (job #2811609)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct dreptunghi
{
long long x1,x2,y1,y2;
} a[4];
dreptunghi inters(dreptunghi a, dreptunghi b)
{
dreptunghi d;
d.x1=max(a.x1,b.x1);
d.x2=min(a.x2,b.x2);
d.y1=max(a.y1,b.y1);
d.y2=min(a.y2,b.y2);
if(d.x1<=d.x2&&d.y1<=d.y2) return d;
d.x1=d.x2=d.y1=d.y2=0;
return d;
}
long long arie(dreptunghi a)
{
return (a.x2-a.x1)*(a.y2-a.y1);
}
long long perimetru(dreptunghi a)
{
return (a.x2-a.x1+a.y2-a.y1)*2;
}
int main()
{
int i;
for(i=1; i<=3; i++)
{
fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;
}
long long Arie=arie(a[1])+arie(a[2])+arie(a[3])-arie(inters(a[1],a[2]))-arie(inters(a[1],a[3]))-arie(inters(a[2],a[3]))+arie(inters(a[1],inters(a[2],a[3])));
long long p=perimetru(a[1])+perimetru(a[2])+perimetru(a[3])-perimetru(inters(a[1],a[2]))-perimetru(inters(a[1],a[3]))-perimetru(inters(a[2],a[3]))+perimetru(inters(a[1],inters(a[2],a[3])));
fout<<Arie<<" "<<p;
return 0;
}