Pagini recente » Cod sursa (job #1132678) | Cod sursa (job #3188160) | Cod sursa (job #546557) | Cod sursa (job #1192631) | Cod sursa (job #114404)
Cod sursa(job #114404)
#include <stdio.h>
typedef struct rect
{
long long x1,x2,y1,y2;
};
long long s[8],p[8];
rect a[8];
int main()
{
int i;
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
for (i=1; i<=3; i++)
scanf("%lld%lld%lld%lld",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2);
if ((long long)a[1].x1<(long long)a[2].x1)
a[4].x1=(long long)a[2].x1;
else
a[4].x1=(long long)a[1].x1;
if ((long long)a[1].y1<(long long)a[2].y1)
a[4].y1=(long long)a[2].y1;
else
a[4].y1=(long long)a[1].y1;
if ((long long)a[1].x2<(long long)a[2].x2)
a[4].x2=(long long)a[1].x2;
else
a[4].x2=(long long)a[2].x2;
if ((long long)a[1].y2<(long long)a[2].y2)
a[4].y2=(long long)a[1].y2;
else
a[4].y2=(long long)a[2].y2;
if ((long long)a[1].x1<(long long)a[3].x1)
a[5].x1=(long long)a[3].x1;
else
a[5].x1=(long long)a[1].x1;
if ((long long)a[1].y1<(long long)a[3].y1)
a[5].y1=(long long)a[3].y1;
else
a[5].y1=(long long)a[1].y1;
if ((long long)a[1].x2<(long long)a[3].x2)
a[5].x2=(long long)a[1].x2;
else
a[5].x2=(long long)a[3].x2;
if ((long long)a[1].y2<(long long)a[3].y2)
a[5].y2=(long long)a[1].y2;
else
a[5].y2=(long long)a[3].y2;
if ((long long)a[3].x1<(long long)a[2].x1)
a[6].x1=(long long)a[2].x1;
else
a[6].x1=(long long)a[3].x1;
if ((long long)a[3].y1<(long long)a[2].y1)
a[6].y1=(long long)a[2].y1;
else
a[6].y1=(long long)a[3].y1;
if ((long long)a[3].x2<(long long)a[2].x2)
a[6].x2=(long long)a[3].x2;
else
a[6].x2=(long long)a[2].x2;
if ((long long)a[3].y2<(long long)a[2].y2)
a[6].y2=(long long)a[3].y2;
else
a[6].y2=(long long)a[2].y2;
if ((long long)a[3].x1<(long long)a[4].x1)
a[7].x1=(long long)a[4].x1;
else
a[7].x1=(long long)a[3].x1;
if ((long long)a[3].y1<(long long)a[4].y1)
a[7].y1=(long long)a[4].y1;
else
a[7].y1=(long long)a[3].y1;
if ((long long)a[3].x2<(long long)a[4].x2)
a[7].x2=(long long)a[3].x2;
else
a[7].x2=(long long)a[4].x2;
if ((long long)a[3].y2<(long long)a[4].y2)
a[7].y2=(long long)a[3].y2;
else
a[7].y2=(long long)a[4].y2;
for (i=1; i<=7; i++)
{
s[i]=(long long)((long long)a[i].x2-(long long)a[i].x1)*((long long)a[i].y2-(long long)a[i].y1);
p[i]=(long long)((long long)a[i].x2-a[i].x1+a[i].y2-a[i].y1)*2;
if ((long long)a[i].x1>(long long)a[i].x2 || (long long)a[i].y1>(long long)a[i].y2)
{
p[i]=(long long)0;
s[i]=(long long)0;
}
}
printf("%lld %lld\n",(long long)s[1]+(long long)s[2]+(long long)s[3]-(long long)s[4]-(long long)s[5]-(long long)s[6]+(long long)s[7],(long long)p[1]+(long long)p[2]+(long long)p[3]-(long long)p[4]-(long long)p[5]-(long long)p[6]+(long long)p[7]);
return 0;
}