Pagini recente » Cod sursa (job #1813337) | Cod sursa (job #1863629) | Cod sursa (job #2334623) | Cod sursa (job #1066500) | Cod sursa (job #1199474)
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("reuniune.in");
ofstream out("reuniune.out");
struct dreptunghi{long long x; long long y; long long a; long long b;};
dreptunghi d[3];
long long arie(dreptunghi d)
{
return (d.a-d.x)*(d.b-d.y);
}
long long perim(dreptunghi d)
{
return 2*(d.a-d.x)+2*(d.b-d.y);
}
dreptunghi inters(dreptunghi aa, dreptunghi bb)
{
dreptunghi nou;
nou.x=max(aa.x,bb.x);
nou.y=max(aa.y,bb.y);
nou.a=min(aa.a,bb.a);
nou.b=min(aa.b,bb.b);
if ((nou.x>nou.a)||(nou.y>nou.b))
{
nou.x=0;
nou.y=0;
nou.a=0;
nou.b=0;
}
return nou;
}
int main()
{long long i,atot,ptot;
for(i=0;i<3;++i)
in>>d[i].x>>d[i].y>>d[i].a>>d[i].b;
atot=arie(d[0])+arie(d[1])+arie(d[2])-arie(inters(d[0],d[1]))-arie(inters(d[0],d[2]))-arie(inters(d[1],d[2]))+arie(inters(inters(d[0],d[1]),d[2]));
ptot=perim(d[0])+perim(d[1])+perim(d[2])-perim(inters(d[0],d[1]))-perim(inters(d[0],d[2]))-perim(inters(d[1],d[2]))+perim(inters(inters(d[0],d[1]),d[2]));
out<<atot<<" "<<ptot<<'\n';
return 0;
}