Cod sursa(job #993047)
#include<fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long s,p,l,L;
struct k{
long long x1,x2,y1,y2;};
k a,b,c;
k fct(k c1,k c2)
{
k nul,o;
nul.x1=nul.x2=nul.y1=nul.y2=0;
o.x1=max(c1.x1,c2.x1);
o.y1=max(c1.y1,c2.y1);
o.x2=min(c1.x2,c2.x2);
o.y2=min(c1.y2,c2.y2);
if(o.x1>o.x2||o.y1>o.y2) return nul;
else return o;
}
long long arie(k o)
{
return (o.x2-o.x1)*(o.y2-o.y1);
}
long long perimetru(k o)
{
return 2*(o.x2-o.x1+o.y2-o.y1);
}
int main ()
{
f>>a.x1>>a.y1>>a.x2>>a.y2;
f>>b.x1>>b.y1>>b.x2>>b.y2;
f>>c.x1>>c.y1>>c.x2>>c.y2;
g<<arie(a)+arie(b)+arie(c)-arie(fct(a,b))-arie(fct(a,c))-arie(fct(b,c))+arie(fct(fct(a,b),c))<<" "<<perimetru(a)+perimetru(b)+perimetru(c)-perimetru(fct(a,b))-perimetru(fct(a,c))-perimetru(fct(b,c))+perimetru(fct(fct(a,b),c));
return 0;
}