Pagini recente » Borderou de evaluare (job #1567874) | Cod sursa (job #2467371) | Cod sursa (job #1481311) | Cod sursa (job #216121) | Cod sursa (job #2811606)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct dr{
long long x0,y0;
long long x1,y1;
}v[10];
long long aria(dr a)
{
return ((a.x1-a.x0)*(a.y1-a.y0));
}
long long peri(dr a)
{
return (2*((a.x1-a.x0)+(a.y1-a.y0)));
}
dr inter(dr a, dr b)
{
dr c;
c.x0=max(a.x0,b.x0);
c.y0=max(a.y0,b.y0);
c.x1=min(a.x1,b.x1);
c.y1=min(a.y1,b.y1);
if(c.x0>c.x1 || c.y0>c.y1)
{
c.x0=0;c.y0=0;
c.x1=0;c.y1=0;
}
return c;
}
int main()
{
for(int i=1;i<=3;++i)
fin>>v[i].x0>>v[i].y0>>v[i].x1>>v[i].y1;
fout<<aria(v[1])+aria(v[2])+aria(v[3])-aria(inter(v[1],v[2]))-aria(inter(v[2],v[3]))-aria(inter(v[1],v[3]))+aria(inter(inter(v[1],v[2]),v[3]))<<' ';
fout<<peri(v[1])+peri(v[2])+peri(v[3])-peri(inter(v[1],v[2]))-peri(inter(v[2],v[3]))-peri(inter(v[1],v[3]))+peri(inter(inter(v[1],v[2]),v[3]))<<'\n';
return 0;
}