Cod sursa(job #1666971)

Utilizator NineshadowCarapcea Antonio Nineshadow Data 28 martie 2016 15:37:00
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;
using t = long long;
ifstream i("reuniune.in");
ofstream o("reuniune.out");
struct d{t x0,y0,y1,x1;};
d v[3];
d q(d m,d n)
{
    d r;r.x0=max(m.x0,n.x0);r.y0=max(m.y0,n.y0);r.x1=min(m.x1,n.x1);r.y1=min(m.y1,n.y1);
    if(r.x0>r.x1||r.y0>r.y1)r.x0=r.y0=r.x1=r.y1=0;
    return r;
}
t a(d r)
{
    return (r.x1-r.x0)*(r.y1-r.y0);
}
t p(d r)
{
    return (r.x1 - r.x0 + r.y1 - r.y0)*2;
}
main()
{
    for(t j = 0; j < 3; ++j)
        i>>v[j].x0>>v[j].y0>>v[j].x1>>v[j].y1;
    o<<a(v[0])+a(v[1])+a(v[2])-a(q(v[0], v[1]))-a(q(v[1],v[2]))-a(q(v[2],v[0]))+a(q(q(v[0],v[1]),v[2]))<<' '<<p(v[0])+p(v[1])+p(v[2])-p(q(v[0],v[1]))-p(q(v[1],v[2]))-p(q(v[2],v[0]))+p(q(q(v[0],v[1]),v[2]));
}