Pagini recente » Cod sursa (job #910099) | Cod sursa (job #346202) | Cod sursa (job #2529582) | Cod sursa (job #507174) | Cod sursa (job #346888)
Cod sursa(job #346888)
#include <stdio.h>
#define N 10
int a[N],b[N],c[N],d[N];
long long suma,arie;
int crd1,crd2,crd3,crd4;
int modul(int a)
{
if (a<0)
return a*(-1);
return a;
}
inline int max(int a,int b)
{
if (a>b)
return a;
return b;
}
inline int min(int a,int b)
{
if (a<b)
return a;
return b;
}
int calcul(int i,int j)
{
//if (a[i]>c[j] || a[j]>c[i] || b[i]>d[j] || b[j]>d[i])
// return 0;
crd1=max(a[i],a[j]);
crd2=max(b[i],b[j]);
crd3=min(c[i],c[j]);
crd4=min(d[i],d[j]);
return 1;
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
int i,j,tip=0;
for (i=1; i<=3; i++)
{
scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
suma+=2*(modul(c[i]-a[i])+modul(d[i]-b[i]));
arie+=modul(c[i]-a[i])*modul(d[i]-b[i]);
}
for (i=1; i<=2; i++)
for (j=i+1; j<=3; j++)
if (calcul(i,j))
{
if (i==1 && j==2)
{
a[4]=crd1;b[4]=crd2;c[4]=crd3;d[4]=crd4;
}
if (i==1 && j==3)
{
a[5]=crd1;b[5]=crd2;c[5]=crd3;d[5]=crd4;
}
suma-=2*(modul(crd3-crd1)+modul(crd4-crd2));
arie-=modul(crd3-crd1)*modul(crd4-crd2);
}
else
tip=1;
if (!tip && calcul(4,5))
{
suma+=2*(modul(crd3-crd1)+modul(crd4-crd2));
arie+=modul(crd3-crd1)*modul(crd4-crd2);
}
printf("%lld ",arie);
printf("%lld\n",suma);
return 0;
}