Mai intai trebuie sa te autentifici.
Cod sursa(job #1196989)
Utilizator | 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;
}