Pagini recente » Cod sursa (job #2737554) | Cod sursa (job #33028) | Cod sursa (job #2344819) | Cod sursa (job #3205337) | Cod sursa (job #2422693)
#include <fstream>
#define ll long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct drp {ll x,y,a,b;};
drp d[4];
ll arie(drp v)
{ return (v.a-v.x)*(v.b-v.y);}
ll perim(drp v)
{ return 2*(v.a-v.x+v.b-v.y);}
drp inters(drp u, drp v)
{ drp p;
p.x=max(u.x,v.x);
p.y=max(u.y,v.y);
p.a=min(u.a,v.a);
p.b=min(u.b,v.b);
if(p.x>p.a || p.y>p.b) p=(drp){0,0,0,0};
return p;
}
int main()
{ for(int i=1;i<=3;i++) f>>d[i].x>>d[i].y>>d[i].a>>d[i].b;
ll s=arie(d[1])+arie(d[2])+arie(d[3])-arie(inters(d[1],d[2]))-arie(inters(d[1],d[3]))-arie(inters(d[2],d[3]))+arie(inters(inters(d[1],d[2]),d[3]));
ll per=perim(d[1])+perim(d[2])+perim(d[3])-perim(inters(d[1],d[2]))-perim(inters(d[1],d[3]))-perim(inters(d[2],d[3]))+perim(inters(inters(d[1],d[2]),d[3]));
g<<s<<' '<<per;
return 0;
}