Cod sursa(job #211856)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 3 octombrie 2008 19:02:30
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.91 kb
#include<stdio.h>
long long x1i,y1i,x1s,y1s,x2i,y2i,x2s,y2s,x3i,y3i,x3s,y3s,x12i,x12s,y12i,y12s,x13i,x13s,y13i,y13s;
long long x23i,x23s,y23i,y23s,x123i,x123s,y123i,y123s,At,Pt;
long long A(long long x,long long y,long long x1,long long y1)
{long long a;
 a=1ll*((x1-x)*(y1-y));
 return a;
}
long long P(long long x,long long y,long long x1,long long y1)
{long long p;
 p=2ll*((x1-x)+(y1-y));
 return p;
}
int main()
{
 freopen("reuniune.in","r",stdin);
 freopen("reuniune.out","w",stdout);
 scanf("%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld",&x1i,&y1i,&x1s,&y1s,&x2i,&y2i,&x2s,&y2s,&x3i,&y3i,&x3s,&y3s);
 x12i=x1i;
 if(x2i>x12i)x12i=x2i;
 x12s=x1s;
 if(x2s<x12s)x12s=x2s;
 y12i=y1i;
 if(y2i>y12i)y12i=y2i;
 y12s=y1s;
 if(y2s<y12s)y12s=y2s;

 if(x12i>x12s||y12i>y12s)x12i=x12s=y12i=y12s=0;

 x13i=x1i;
 if(x3i>x13i)x13i=x3i;
 x13s=x1s;
 if(x3s<x13s)x13s=x3s;
 y13i=y1i;
 if(y3i>y13i)y13i=y3i;
 y13s=y1s;
 if(y3s<y13s)y13s=y3s;

 if(x13i>x13s||y13i>y13s)x13i=x13s=y13i=y13s=0;

 x23i=x2i;
 if(x3i>x23i)x23i=x3i;
 x23s=x2s;
 if(x3s<x23s)x23s=x3s;
 y23i=y2i;
 if(y3i>y23i)y23i=y3i;
 y23s=y2s;
 if(y3s<y23s)y23s=y3s;

 if(x23i>x23s||y23i>y23s)x23i=x23s=y23i=y23s=0;
 
 x123i=x1i;
 if(x2i>x123i)x123i=x2i;
 if(x3i>x123i)x123i=x3i;
 x123s=x1s;
 if(x2s<x123s)x123s=x2s;
 if(x3s<x123s)x123s=x3s;
 y123i=y1i;
 if(y2i>y123i)y123i=y2i;
 if(y3i>y123i)y123i=y3i;
 y123s=y1s;
 if(y2s<y123s)y123s=y2s;
 if(y3s<y123s)y123s=y3s;

 if(x123i>x123s||y123i>y123s)x123i=x123s=y123i=y123s=0;

 At=A(x1i,y1i,x1s,y1s)
   +A(x2i,y2i,x2s,y2s)
   +A(x3i,y3i,x3s,y3s)
   -A(x12i,y12i,x12s,y12s)
   -A(x13i,y13i,x13s,y13s)
   -A(x23i,y23i,x23s,y23s)
   +A(x123i,y123i,x123s,y123s);
 Pt=P(x1i,y1i,x1s,y1s)
   +P(x2i,y2i,x2s,y2s)
   +P(x3i,y3i,x3s,y3s)
   -P(x12i,y12i,x12s,y12s)
   -P(x13i,y13i,x13s,y13s)
   -P(x23i,y23i,x23s,y23s)
   +P(x123i,y123i,x123s,y123s);
 printf("%lld %lld\n",At,Pt);
}