Pagini recente » Cod sursa (job #413549) | Cod sursa (job #2331884) | Istoria paginii runda/oji_2019_10/clasament | Cod sursa (job #1285763) | Cod sursa (job #1226328)
#include <stdio.h>
int max(int a, int b)
{
if (a>b)
return a;
else
return b;
}
int min(int a, int b)
{
if (a>b)
return b;
else
return a;
}
struct DREPTUNGHI
{
int x0, y0, x1, y1;
}d1, d2, d3;
DREPTUNGHI comun(DREPTUNGHI d1, DREPTUNGHI d2)
{
DREPTUNGHI a;
a.x0=max(d1.x0,d2.x0);
a.y0=max(d2.y0,d1.y0);
a.x1=min(d1.x1,d2.x1);
a.y1=min(d2.y1,d1.y1);
if (a.y0>a.y1 || a.x0>a.x1)
//inseamna ca nu avem parti comune
a.x0=a.x1=a.y0=a.y1=0;
return a;
}
long long perimetru(DREPTUNGHI d1)
{
long long per;
per=((d1.x1-d1.x0)+(d1.y1-d1.y0))*2;
return per;
}
long long arie(DREPTUNGHI d1)
{
long long ar;
ar=(d1.y1-d1.y0)*(d1.x1-d1.x0);
return ar;
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
scanf("%d%d%d%d%d%d%d%d%d%d%d%d",&d1.x0,&d1.y0,&d1.x1,&d1.y1,&d2.x0,&d2.y0,&d2.x1,&d2.y1,&d3.x0,&d3.y0,&d3.x1,&d3.y1);
DREPTUNGHI intd1d2, intd2d3, intd3d1, intd1d2d3;
long long a, p;
intd1d2=comun(d1, d2);
intd2d3=comun(d2, d3);
intd3d1=comun(d1, d3);
intd1d2d3=comun(d1, intd2d3);
a=arie(d1)+arie(d2)+arie(d3)-arie(intd1d2)-arie(intd3d1)-arie(intd2d3)+arie(intd1d2d3);
p=perimetru(d1)+perimetru(d2)+perimetru(d3)-perimetru(intd1d2)-perimetru(intd2d3)-perimetru(intd3d1)+perimetru(intd1d2d3);
printf("%lld %lld\n", a, p);
return 0;
}