Cod sursa(job #1538067)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 28 noiembrie 2015 14:26:11
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#define LL long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
int i;
struct dr{LL x,y,a,b;} d[3],s;
LL arie(dr D){return (D.a-D.x)*(D.b-D.y);}
LL peri(dr D){return 2*((D.a-D.x)+(D.b-D.y));}
dr ins(dr A, dr B)
{
    s.x=max(A.x,B.x);
    s.y=max(A.y,B.y);
    s.a=min(A.a,B.a);
    s.b=min(A.b,B.b);
    if(s.x>s.a||s.y>s.b) return (dr){0,0,0,0};
    return s;
}
int main()
{   for(;i<3;++i) f>>d[i].x>>d[i].y>>d[i].a>>d[i].b;
    g<<arie(d[0])+arie(d[1])+arie(d[2])- arie(ins(d[0],d[1]))-arie(ins(d[0],d[2]))-arie(ins(d[1],d[2]))+arie(ins(ins(d[0],d[1]),d[2]))<<" ";
    g<<peri(d[0])+peri(d[1])+peri(d[2])- peri(ins(d[0],d[1]))-peri(ins(d[0],d[2]))-peri(ins(d[1],d[2]))+peri(ins(ins(d[0],d[1]),d[2]));
    return 0;
}