Pagini recente » Cod sursa (job #360540) | Cod sursa (job #529533) | Cod sursa (job #2217772)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("reuniune.in"); ofstream g("reuniune.out");
struct Rect{int x0,x1,y0,y1;} v[4];
uint64_t A,P;
uint64_t ar(Rect r){return 1LL*(r.x1-r.x0)*(r.y1-r.y0);}
uint64_t pe(Rect r){return 2LL*(r.x1+r.y1-r.x0-r.y0);}
Rect inter(Rect r1, Rect r2)
{
Rect r;r.x0=max(r1.x0,r2.x0),r.x1=min(r1.x1, r2.x1);r.y0=max(r1.y0,r2.y0),r.y1=min(r1.y1, r2.y1);
if(r.x0>r.x1||r.y0>r.y1) r.x0=r.x1=0,r.y0=r.y1=0;
return r;
}
int main()
{
for(int i=1;i<4;i++) f>>v[i].x0>>v[i].y0>>v[i].x1>>v[i].y1;
A=ar(v[1])+ar(v[2])+ar(v[3])-(ar(inter(v[1],v[2]))+ar(inter(v[1],v[3]))+ar(inter(v[2],v[3])))+ar(inter(inter(v[1],v[2]),v[3]));
P=pe(v[1])+pe(v[2])+pe(v[3])-(pe(inter(v[1],v[2]))+pe(inter(v[1],v[3]))+pe(inter(v[2],v[3])))+pe(inter(inter(v[1],v[2]),v[3]));
g<<A<<' '<<P;
return 0;
}