Pagini recente » Cod sursa (job #2497123) | Cod sursa (job #392345) | Cod sursa (job #104497) | Cod sursa (job #891133) | Cod sursa (job #489939)
Cod sursa(job #489939)
#include<cstdio>
struct dr
{
long long x1,y1,x2,y2;
};
dr a,b,c;
void read(dr &x)
{
scanf("%lld%lld%lld%lld",&x.x1,&x.y1,&x.x2,&x.y2);
}
long long arie(dr x)
{
return (x.x2-x.x1)*(x.y2-x.y1);
}
long long peri(dr x)
{
return 2*(x.x2-x.x1)+2*(x.y2-x.y1);
}
long long max(long long x,long long y)
{
return x<y?y:x;
}
long long min(long long x,long long y)
{
return x>y?y:x;
}
dr intersectie(dr x,dr y)
{
dr i;
i.x1=max(x.x1,y.x1);
i.y1=max(x.y1,y.y1);
i.x2=min(x.x2,y.x2);
i.y2=min(x.y2,y.y2);
if(i.x1>i.x2 || i.y1>i.y2)
i.x1=i.x2=i.y1=i.y2=0;
return i;
}
void afis()
{
printf("%lld",arie(a)+arie(b)+arie(c)-arie(intersectie(a,b))-arie(intersectie(b,c))-arie(intersectie(a,c))+arie(intersectie(intersectie(b,c),a)));
printf(" ");
printf("%lld",peri(a)+peri(b)+peri(c)-peri(intersectie(a,b))-peri(intersectie(b,c))-peri(intersectie(a,c))+peri(intersectie(intersectie(b,c),a)));
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
read(a);
read(b);
read(c);
afis();
return 0;
}