Pagini recente » Cod sursa (job #1522092) | Cod sursa (job #2534279) | Cod sursa (job #1122966) | Cod sursa (job #2344997) | Cod sursa (job #240376)
Cod sursa(job #240376)
#include <stdio.h>
struct point{
int x,y;
};
struct rect{
struct point a,b;
};
int inline in(point a,rect c){
return a.x>=c.a.x&&a.x<=c.b.x&&a.y<=c.a.y&&a.y>=c.b.y;
}
int main(){
freopen("reuniune.in","rt",stdin);
freopen("reuniune.out","wt",stdout);
struct rect r,a[3],e[2];
scanf("%d%d%d%d",&r.a.x,&r.a.y,&r.b.x,&r.b.y);
a[0]=r;
scanf("%d%d%d%d",&r.a.x,&r.a.y,&r.b.x,&r.b.y);
a[1]=r;
scanf("%d%d%d%d",&r.a.x,&r.a.y,&r.b.x,&r.b.y);
a[2]=r;
if(in(a[0].a,a[1])){
e[0].a=a[0].a;
e[0].b=a[1].b;
}
else if(in(a[0].b,a[1])){
e[0].a=a[1].a;
e[0].b=a[0].b;
}
else{
struct point aux;
aux.x=a[0].a.x;
aux.y=a[0].b.y;
if(in(aux,a[1])){
e[0].a.x=aux.x;
e[0].a.y=a[1].a.y;
e[0].b.x=a[1].b.x;
e[0].b.y=aux.y;
}
aux.x=a[0].b.x;
aux.y=a[0].a.y;
if(in(aux,a[1])){
e[0].a.x=a[1].b.x;
e[0].a.y=aux.y;
e[0].b.x=aux.x;
e[0].b.y=a[1].a.y;
}
}
if(in(a[1].a,a[2])){
e[1].a=a[1].a;
e[1].b=a[2].b;
}
else if(in(a[1].b,a[2])){
e[1].a=a[2].a;
e[1].b=a[1].b;
}
else{
struct point aux;
aux.x=a[1].a.x;
aux.y=a[1].b.y;
if(in(aux,a[2])){
e[1].a.x=aux.x;
e[1].a.y=a[2].a.y;
e[1].b.x=a[2].b.x;
e[1].b.y=aux.y;
}
aux.x=a[1].b.x;
aux.y=a[1].a.y;
if(in(aux,a[2])){
e[1].a.x=a[2].b.x;
e[1].a.y=aux.y;
e[1].b.x=aux.x;
e[1].b.y=a[2].a.y;
}
}
long l1,l2;
l1=e[2].b.x-e[2].a.x;
l2=e[2].a.y-e[2].b.y;
printf("%d %d",2*l1+2*l2,l1*l2);
return 0;
}