Mai intai trebuie sa te autentifici.

Cod sursa(job #1196989)

Utilizator vlad2309pascariu vlad vlad2309 Data 10 iunie 2014 09:35:43
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
#define LL long long
using namespace std;
ifstream f("reuniune.in"); ofstream g("reuniune.out");
struct dr{LL x,y,a,b;} d[3];
LL arie(dr D){return   (D.a-D.x) * (D.b-D.y);}
LL peri(dr D){return 2*(D.a-D.x)+2*(D.b-D.y);}
dr ins(dr A, dr B)
{   dr s;
    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(int i=0;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]))<<'\n';
    g.close(); return 0;
}