Pagini recente » Cod sursa (job #220851) | Cod sursa (job #2797974) | Cod sursa (job #2141389) | Cod sursa (job #319987) | Cod sursa (job #1230656)
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
struct DR{long long x1, y1, x2, y2;} a, b, c;
long long A(DR d){
return ((d.x2-d.x1)*(d.y2-d.y1));
}
long long P(DR d){
return (2*((d.x2-d.x1)+(d.y2-d.y1)));
}
DR inside(DR d1, DR d2)
{
DR d;
d.x1=max(d1.x1, d2.x1);
d.y1=max(d1.y1, d2.y1);
d.x2=min(d1.x2, d2.x2);
d.y2=min(d1.y2, d2.y2);
if(d.x1>d.x2 || d.y1>d.y2)
d.x1=d.x2=d.y1=d.y2=0;
return d;
}
int main()
{
freopen("reuniune.in", "r", stdin);
freopen("reuniune.out", "w", stdout);
cin>>a.x1>>a.y1>>a.x2>>a.y2;
cin>>b.x1>>b.y1>>b.x2>>b.y2;
cin>>c.x1>>c.y1>>c.x2>>c.y2;
cout<<A(a)+A(b)+A(c)-A(inside(a, b))-A(inside(a, c))-A(inside(b, c))+A(inside(a,(inside(b, c))))<<" ";
cout<<P(a)+P(b)+P(c)-P(inside(a, b))-P(inside(a, c))-P(inside(b, c))+P(inside(a, (inside(b, c))));
fclose(stdin);
fclose(stdout);
return 0;
}