Pagini recente » Cod sursa (job #1601088) | Cod sursa (job #2585438) | Cod sursa (job #1477839) | Cod sursa (job #2556398) | Cod sursa (job #1673080)
#include <stdio.h>
#include <algorithm>
using namespace std;
struct date { long long int x1,x2,y1,y2; };
int n;
date t[5];
inline long long int abss(long long int x)
{
if (x<0) return (-x); else return x;
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
for (int i=1;i<=3;i++) {
scanf("%lld %lld %lld %lld",&t[i].x1,&t[i].y1,&t[i].x2,&t[i].y2);
}
long long int sola=0,solp=0;
for (int i=1;i<=3;i++)
sola=sola+abss(t[i].x1-t[i].x2)*abss(t[i].y1-t[i].y2),
solp=solp+2*abss(t[i].x1-t[i].x2)+2*abss(t[i].y1-t[i].y2);
for (int i=1;i<=3;i++)
for (int j=i+1;j<=3;j++) {
long long int x1=max(t[i].x1,t[j].x1),x2=min(t[i].x2,t[j].x2);
long long int y1=max(t[i].y1,t[j].y1),y2=min(t[i].y2,t[j].y2);
if (x1<=x2 && y1<=y2) sola=sola-(x2-x1)*(y2-y1),solp=solp-2*(x2-x1)-2*(y2-y1);
}
long long int x1=-2e9,x2=2e9,y1=-2e9,y2=2e9;
for (int i=1;i<=3;i++) {
x1=max(x1,t[i].x1); x2=min(x2,t[i].x2);
y1=max(y1,t[i].y1); y2=min(y2,t[i].y2);
}
if (x1<=x2 && y1<=y2) sola=sola+(x2-x1)*(y2-y1),solp=solp+2*(x2-x1)+2*(y2-y1);
printf("%lld %lld",sola,solp);
return 0;
}