Pagini recente » Cod sursa (job #866790) | Cod sursa (job #1606274) | Cod sursa (job #1518060) | Cod sursa (job #2529426) | Cod sursa (job #1826911)
#include <cstring>
#include <cstdio>
#include <algorithm>
#define MaxN 105
#define INF 2140000000
using namespace std;
FILE *IN,*OUT;
struct Rect
{
int x1,x2,y1,y2;
long long A()
{
return 1LL*(x2-x1)*(y2-y1);
}
long long P()
{
return 2LL*(x2-x1)+2LL*(y2-y1);
}
Rect operator*(const Rect& R)const
{
Rect aux;
aux.x1=max(x1,R.x1);
aux.x2=min(x2,R.x2);
aux.y1=max(y1,R.y1);
aux.y2=min(y2,R.y2);
return aux;
}
}R1,R2,R3,R4,R5,R6,R7;
long long sum=0,per=0;
int main()
{
IN=fopen("reuniune.in","r");
OUT=fopen("reuniune.out","w");
fscanf(IN,"%d%d%d%d%d%d%d%d%d%d%d%d",&R1.x1,&R1.y1,&R1.x2,&R1.y2,&R2.x1,&R2.y1,&R2.x2,&R2.y2,&R3.x1,&R3.y1,&R3.x2,&R3.y2);
R4=R1*R2;
R5=R3*R1;
R6=R3*R2;
R7=R3*R2*R1;
sum=R1.A()+R2.A()+R3.A()-R4.A()-R5.A()-R6.A()+R7.A();
per=R1.P()+R2.P()+R3.P()-R4.P()-R5.P()-R6.P()+R7.P();
fprintf(OUT,"%lld %lld",sum,per);
return 0;
}