Cod sursa(job #1949796)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 2 aprilie 2017 13:21:31
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream f ("reuniune.in");
ofstream g ("reuniune.out");
struct usu
{
    long long sx,sy,dx,dy;
};
usu x(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(x(a,b))-s(x(b,c))-s(x(a,c))+s(x(a,x(b,c)))<<' ';
    g<<p(a)+p(b)+p(c)-p(x(a,b))-p(x(b,c))-p(x(a,c))+p(x(a,x(b,c)))<<' ';
}