Pagini recente » Cod sursa (job #1559768) | Cod sursa (job #1716042) | Cod sursa (job #1108121) | Cod sursa (job #197318) | Cod sursa (job #1666971)
#include <fstream>
using namespace std;
using t = long long;
ifstream i("reuniune.in");
ofstream o("reuniune.out");
struct d{t x0,y0,y1,x1;};
d v[3];
d q(d m,d n)
{
d r;r.x0=max(m.x0,n.x0);r.y0=max(m.y0,n.y0);r.x1=min(m.x1,n.x1);r.y1=min(m.y1,n.y1);
if(r.x0>r.x1||r.y0>r.y1)r.x0=r.y0=r.x1=r.y1=0;
return r;
}
t a(d r)
{
return (r.x1-r.x0)*(r.y1-r.y0);
}
t p(d r)
{
return (r.x1 - r.x0 + r.y1 - r.y0)*2;
}
main()
{
for(t j = 0; j < 3; ++j)
i>>v[j].x0>>v[j].y0>>v[j].x1>>v[j].y1;
o<<a(v[0])+a(v[1])+a(v[2])-a(q(v[0], v[1]))-a(q(v[1],v[2]))-a(q(v[2],v[0]))+a(q(q(v[0],v[1]),v[2]))<<' '<<p(v[0])+p(v[1])+p(v[2])-p(q(v[0],v[1]))-p(q(v[1],v[2]))-p(q(v[2],v[0]))+p(q(q(v[0],v[1]),v[2]));
}