Pagini recente » Cod sursa (job #1146838) | Cod sursa (job #3204793) | Cod sursa (job #2088842) | Cod sursa (job #1197239) | Cod sursa (job #2487590)
#include <fstream>
using namespace std;
long long i,j,t,s,p;
const long long c=1000000000;
struct vct
{
long long a,b,x,y;
}v[10],u[10];
int main()
{
ifstream f("reuniune.in");
ofstream g("reuniune.out");
for(i=1;i<=3;i++)
f>>v[i].a>>v[i].b>>v[i].x>>v[i].y;
for(i=1;i<=3;i++)
{
v[i].a+=c;
v[i].b+=c;
v[i].x+=c;
v[i].y+=c;
}
for(i=1;i<=3;i++)
for(j=i+1;j<=3;j++)
{
u[++t].a=max(v[i].a,v[j].a);
u[t].b=max(v[i].b,v[j].b);
u[t].x=min(v[i].x,v[j].x);
u[t].y=min(v[i].y,v[j].y);
}
v[4].a=max(v[1].a,max(v[2].a,v[3].a));
v[4].b=max(v[1].b,max(v[2].b,v[3].b));
v[4].x=min(v[1].x,min(v[2].x,v[3].x));
v[4].y=min(v[1].y,min(v[2].y,v[3].y));
for(i=1;i<=4;i++)
if(v[i].a<=v[i].x && v[i].b<=v[i].y)
{
s+=(v[i].x-v[i].a)*(v[i].y-v[i].b);
p+=2*(v[i].x-v[i].a)+2*(v[i].y-v[i].b);
}
for(i=1;i<=t;i++)
if(u[i].a<=u[i].x && u[i].b<=u[i].y)
{
s-=(u[i].x-u[i].a)*(u[i].y-u[i].b);
p-=2*(u[i].x-u[i].a)+2*(u[i].y-u[i].b);
}
g<<s<<' '<<p;
return 0;
}