Pagini recente » Cod sursa (job #861118) | Cod sursa (job #890799) | Cod sursa (job #220161) | Cod sursa (job #2162738) | Cod sursa (job #1348353)
#include<stdio.h>
struct str
{
int x1,x2,y1,y2;
};
str v[5],axb,axc,bxc,axbxc;
int min(int a,int b)
{
if(a>b)
return b;
return a ;
}
int max(int a,int b)
{
if(a>b)
return a;
return b;
}
str reuniune(str a, str b)
{
str r;
r.x1=max(a.x1,b.x1);
r.y1=max(a.y1,b.y1);
r.x2=min(a.x2,b.x2);
r.y2=min(a.y2,b.y2);
return r;
}
long long arie(str a)
{
return (long long)(a.x2-a.x1)*(a.y2-a.y1);
}
long long perim(str a)
{
return (long long)(a.x2-a.x1)*2+(long long ) 2*(a.y2-a.y1);
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
for(int i=1;i<=3;i++)
scanf("%d%d%d%d",&v[i].x1,&v[i].y1,&v[i].x2,&v[i].y2);
axb=reuniune(v[1],v[2]);
axc=reuniune(v[1],v[3]);
bxc=reuniune(v[2],v[3]);
axbxc=reuniune(axb,v[3]);
printf("%lld ",arie(v[1])+arie(v[2])+arie(v[3])-arie(axb)-arie(axc)-arie(bxc)+arie(axbxc));
printf("%lld ",perim(v[1])+perim(v[2])+perim(v[3])-perim(axb)-perim(axc)-perim(bxc)+perim(axbxc));
return 0;
}