Pagini recente » Cod sursa (job #924849) | Cod sursa (job #2402987) | Cod sursa (job #688616) | Cod sursa (job #935152) | Cod sursa (job #912880)
Cod sursa(job #912880)
#include<fstream>
#define LL long long
using namespace std;
ifstream f("reuniune.in"); ofstream g("reuniune.out");
struct dr{LL x1,y1,x2,y2;} d[4];
LL A,P;
LL arie(dr D){return (D.x2-D.x1) * (D.y2-D.y1);}
LL peri(dr D){return 2*(D.x2-D.x1)+2*(D.y2-D.y1);}
dr ins(dr a, dr b)
{ dr s;
s.x1=max(a.x1,b.x1);
s.y1=max(a.y1,b.y1);
s.x2=min(a.x2,b.x2);
s.y2=min(a.y2,b.y2);
if (s.x1 > s.x2 ||s.y1 > s.y2) return (dr){0,0,0,0};
return s;
}
int main()
{ for(int i=1;i<=3;++i) f>>d[i].x1>>d[i].y1>>d[i].x2>>d[i].y2;
A= arie(d[1])+arie(d[2])+arie(d[3])- arie(ins(d[1],d[2]))-arie(ins(d[1],d[3]))-arie(ins(d[2],d[3]))+ arie(ins(ins(d[1],d[2]),d[3]));
P= peri(d[1])+peri(d[2])+peri(d[3])- peri(ins(d[1],d[2]))-peri(ins(d[1],d[3]))-peri(ins(d[2],d[3]))+ peri(ins(ins(d[1],d[2]),d[3]));
g<<A<<' '<<P<<'\n';
g.close(); return 0;
}