Pagini recente » Cod sursa (job #47683) | Cod sursa (job #804077) | preONI 2008 - Clasament Runda 1, Clasele 11-12 | Cod sursa (job #1501198) | Cod sursa (job #1804630)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("reuniune.in");
ofstream g ("reuniune.out");
struct usu
{
long long sx,sy,dx,dy;
};
usu intersectie(usu a,usu b)
{
long long q,w,e,r;
q=max(a.sx,b.sx);
w=max(a.sy,b.sy);
e=min(a.dx,b.dx);
r=min(a.dy,b.dy);
if(q>e || w>r)
q=w=e=r=0;
usu p;
p.sx=q;
p.sy=w;
p.dx=e;
p.dy=r;
return p;
}
long long s(usu a)
{
return (a.dx-a.sx) * (a.dy-a.sy);
}
long long p(usu a)
{
return (a.dy-a.sy + a.dx - a.sx )*2;
}
usu a,b,c;
int main()
{
f>>a.sx>>a.sy>>a.dx>>a.dy;
f>>b.sx>>b.sy>>b.dx>>b.dy;
f>>c.sx>>c.sy>>c.dx>>c.dy;
g<<s(a) + s(b) + s(c) - s(intersectie(a,b)) - s(intersectie(b,c)) - s(intersectie(a,c)) + s(intersectie(a,intersectie(b,c)))<<' ';
g<<p(a) + p(b) + p(c) - p(intersectie(a,b)) - p(intersectie(b,c)) - p(intersectie(a,c)) + p(intersectie(a,intersectie(b,c)))<<' ';
}