Pagini recente » Cod sursa (job #102924) | Cod sursa (job #1772695) | Cod sursa (job #2088302) | Cod sursa (job #1996375) | Cod sursa (job #470710)
Cod sursa(job #470710)
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
#define REP(i,n) for (int i=0;i<(int)(n);i++)
#define N 3
const int oo=(int)2e9;
typedef long long ll;
int x[N],y[N],x1[N],y1[N],xmin,ymin,xmax,ymax,cnt;
ll area,peri;
void open(){
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
}
int main(){
open();
REP(i,3){
scanf("%d%d%d%d",&x[i],&y[i],&x1[i],&y1[i]);
}
area=peri=0;
REP(i,(1<<3)){
if (i==0) continue;
xmin=ymin=-oo;
xmax=ymax=oo;
cnt=0;
REP(j,3){
if (i&(1<<j)){
cnt++;
xmin=max(xmin,x[j]);
ymin=max(ymin,y[j]);
xmax=min(xmax,x1[j]);
ymax=min(ymax,y1[j]);
}
}
if (cnt&1){
area+=(ll)(xmax-xmin)*(ymax-ymin);
peri+=(ll)2*(xmax-xmin+ymax-ymin);
}
else {
area-=(ll)(xmax-xmin)*(ymax-ymin);
peri-=(ll)2*(xmax-xmin+ymax-ymin);
}
}
printf("%lld %lld\n",area,peri);
//system("pause");
return 0;
}