Pagini recente » Cod sursa (job #2536324) | Cod sursa (job #1939708) | Cod sursa (job #66314) | Cod sursa (job #432422) | Cod sursa (job #1854049)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("reuniune.in");
ofstream fo("reuniune.out");
long long d[3][4];
int main()
{
long long i, j, A, P, colmin, colmax, linmin, linmax, L, l;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
fi>>d[i][j];
A=P=0;
for(i=0;i<3;i++){
L=d[i][2]-d[i][0];
l=d[i][3]-d[i][1];
P+=2*(L+l);
A+=L*l;
}
for(i=0;i<3;i++)
for(j=i+1;j<3;j++){
colmin=max(d[i][1],d[j][1]);
linmin=max(d[i][0],d[j][0]);
colmax=min(d[i][3],d[j][3]);
linmax=min(d[i][2],d[j][2]);
if(linmax-linmin>0 && colmax-colmin>0)
A-=(linmax-linmin)*(colmax-colmin);
if(linmax-linmin>=0 && colmax-colmin>=0)
P-=2*(linmax-linmin+colmax-colmin);
}
if(linmax-linmin>0 && colmax-colmin>0){
colmin=max(d[0][1],colmin);
colmax=min(d[0][3],colmax);
linmin=max(d[0][0],linmin);
linmax=min(d[0][2],linmax);
if(linmax-linmin>0 && colmax-colmin>0)
A+=(linmax-linmin)*(colmax-colmin);
if(linmax-linmin>=0 && colmax-colmin>=0)
P+=2*(linmax-linmin+colmax-colmin);
}
fo<<A<<' '<<P;
return 0;
}