Pagini recente » Cod sursa (job #628715) | Cod sursa (job #2469021) | Cod sursa (job #1727974) | Cod sursa (job #5873) | Cod sursa (job #1147603)
#include<cstdio>
#include<iostream>
using namespace std;
struct dreptunghi
{
long long x1,y1,x2,y2;
}d1,d2,d3;
dreptunghi s1,s2,s3,s4;
dreptunghi inter(dreptunghi a,dreptunghi b)
{
dreptunghi aux;
aux.x1=max(a.x1,b.x1);
aux.y1=max(a.y1,b.y1);
aux.x2=min(a.x2,b.x2);
aux.y2=min(a.y2,b.y2);
if(aux.x1>aux.x2||aux.y1>aux.y2)
aux.x1=aux.x2=aux.y1=aux.y2=0;
return aux;
}
long long arie(dreptunghi a)
{
long long aux;
aux=(a.x2-a.x1)*(a.y2-a.y1);
if(aux<0) aux=0;
return aux;
}
long long per(dreptunghi a)
{
long long aux;
aux=(a.x2-a.x1)*2+(a.y2-a.y1)*2;
if(aux<0)
aux=0;
return aux;
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
scanf("%lld%lld%lld%lld",&d1.x1,&d1.y1,&d1.x2,&d1.y2);
scanf("%lld%lld%lld%lld",&d2.x1,&d2.y1,&d2.x2,&d2.y2);
scanf("%lld%lld%lld%lld",&d3.x1,&d3.y1,&d3.x2,&d3.y2);
s1=inter(d1,d2);
s2=inter(d1,d3);
s3=inter(d2,d3);
s4=inter(s1,s2);
long long aria=arie(d1)+arie(d2)+arie(d3)-arie(s1)-arie(s2)-arie(s3)+arie(s4);
long long p=per(d1)+per(d2)+per(d3)-per(s1)-per(s2)-per(s3)+per(s4);
printf("%lld %lld\n",aria,p);
return 0;
}