Cod sursa(job #1234124)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 26 septembrie 2014 18:51:48
Problema Reuniune Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");

struct tip
{
    long long x0,y0,x1,y1;
}a,b,c,iab,ibc,iac,iabc;
long long p1,a1;
tip inter(tip x,tip y)
{
    tip d;
    d.x0=max(x.x0,y.x0);
    d.x1=min(x.x1,y.x1);
    d.y0=max(x.y0,y.y0);
    d.y1=min(x.y1,y.y1);
    if((d.x0>d.x1)||(d.y0>d.y1)){
        d.x0=0;d.x1=0;d.y0=0;d.y1=0;
    }
    return d;
}
long long P(tip x)
{   int p=0;
    p=2*(x.x1-x.x0)+2*(x.y1-x.y0);
    return p;
}
long long A(tip x)
{
    int a=0;
    a=(x.x1-x.x0)*(x.y1-x.y0);
    return a;
}

int main()
{
    f>>a.x0>>a.y0>>a.x1>>a.y1;
    f>>b.x0>>b.y0>>b.x1>>b.y1;
    f>>c.x0>>c.y0>>c.x1>>c.y1;
    iab=inter(a,b);
    ibc=inter(b,c);
    iac=inter(a,c);
    iabc=inter(iab,c);
    p1=P(a)+P(b)+P(c)-P(iab)-P(ibc)-P(iac)+P(iabc);

    a1=A(a)+A(b)+A(c)-A(iab)-A(ibc)-A(iac)+A(iabc);
    g<<a1<<" "<<p1;
    return 0;
}