Pagini recente » Cod sursa (job #276061) | Cod sursa (job #390218) | Cod sursa (job #278481) | Cod sursa (job #793948) | Cod sursa (job #483997)
Cod sursa(job #483997)
#include<fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
typedef struct
{
long long x,y,z,t,l,L;
}Dr;
Dr v[5];
long long a[4],p[4];
int k;
void cit()
{
int i;
for(i=1;i<=3;++i)
{
f>>v[i].x>>v[i].y>>v[i].z>>v[i].t;
v[i].l=v[i].t-v[i].y;
v[i].L=v[i].z-v[i].x;
}
f.close();
}
long long max(long long x, long long y)
{
if(x>y) return x;
return y;
}
long long min(long long x, long long y)
{
if(x<y) return x;
return y;
}
void dr2(int i, int j)
{
a[k]=p[k]=0;
long long l,L,x,y,z,t;
x=max(v[i].x,v[j].x);
y=max(v[i].y,v[j].y);
z=min(v[i].z,v[j].z);
t=min(v[i].t,v[j].t);
if(z>=x &&t>=y) {L=z-x;
l=t-y;
a[k]=l*L;
p[k]=2*(l+L);
}
}
void dr3()
{
a[k]=p[k]=0;
long long z,y,z,t;
x=max(max(v[1].x,v[2].x),v[3].x);
y=max(max(v[1].y,v[2].y),v[3].y);
z=min(min(v[1].z,v[2].z),v[3].z);
t=min(min(v[1].t,v[2].t),v[3].t);
if(z>=x && t>=y) {long long L,l;
L=z-x;
l=t-y;
a[k]=l*L;
p[k]=2*(l+L);
}
}
int main()
{
cit();
long long A=0,P=0;
k=1;
dr2(1,2);
k=2;
dr2(1,3);
k=3;
dr2(2,3);
k=4;
dr3();
A=v[1].l * v[1].L + v[2].l * v[2].L + v[3].l * v[3].L - a[1]-a[2]-a[3]+a[4];
P=2*(v[1].l + v[1].L) + 2*(v[2].l + v[2].L) + 2*(v[3].l + v[3].L) -p[1]-p[2]-p[3]+p[4];
g<<A<<" "<<P<<"\n";
g.close();
return 0;
}