Cod sursa(job #1901581)

Utilizator stefantagaTaga Stefan stefantaga Data 4 martie 2017 09:41:01
Problema Reuniune Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>

using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi
{
    int a;
    int b;
    int c;
    int d;
}h,v,t,r;
void intersectie(dreptunghi k,dreptunghi r)
{
    h.a=max(k.a,r.a);
    h.b=max(k.b,r.b);
    h.c=min(k.c,r.c);
    h.d=min(k.d,r.d);
}
int arie (dreptunghi u)
{
    return ((u.d-u.b)*(u.c-u.a));
}
int perimetru (dreptunghi u)
{
    return ((u.d-u.b)+(u.c-u.a))*2;
}
int z,k,sa,sp;
int main()
{
    f>>v.a>>v.b>>v.c>>v.d>>t.a>>t.b>>t.c>>t.d>>r.a>>r.b>>r.c>>r.d;
    intersectie (v,t);
    z=arie(h);
    k=perimetru (h);
    sa=sa-z;
    sp=sp-k;
    intersectie (v,r);
    z=arie(h);
    k=perimetru(h);
    sa=sa-z;
    sp=sp-k;
    intersectie (r,t);
    z=arie(h);
    k=perimetru(h);
    sa=sa-z;
    sp=sp-k;
    sa=sa+arie(v)+arie(t)+arie(r);
    sp=sp+perimetru(v)+perimetru(t)+perimetru(r);
    intersectie (h,v);
    sa=sa+arie(h);
    sp=sp+perimetru(h);
    g<<sa<<" "<<sp;
    return 0;
}