Pagini recente » Cod sursa (job #3168332) | Cod sursa (job #1317028) | Cod sursa (job #2199319) | Cod sursa (job #1427388) | Cod sursa (job #467396)
Cod sursa(job #467396)
#include<fstream>
using namespace std;
ifstream f1("reuniune.in");
ofstream f2("reuniune.out");
int max3(int a, int b,int c)
{
return max(a,max(b,c));
}
int min3(int a, int b, int c)
{
return min(a,min(b,c));
}
int main()
{
long long x0[3], x1[3], y0[3], y1[3],i,j;
for(i=0;i<3;i++)
f1>>x0[i]>>y0[i]>>x1[i]>>y1[i];
long long A=0, P=0;
for(i=0;i<3;i++)
{
A+=((x1[i]-x0[i])*(y1[i]-y0[i]));
P+=(2*(x1[i]-x0[i])+2*(y1[i]-y0[i]));
}
long long xs,yj,xd,ys;
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
{
xs=max(x0[i],x0[j]);
xd=min(x1[i],x1[j]);
yj=max(y0[i],y0[j]);
ys=min(y1[i],y1[j]);
if(xs<=xd&&yj<=ys)
{
A-=((xd-xs)*(ys-yj));
P-=(2*(xd-xs)+2*(ys-yj));
}
}
xs=max3(x0[0],x0[1],x0[2]);
xd=min3(x1[0],x1[1],x1[2]);
yj=max3(y0[0],y0[1],y0[2]);
ys=min3(y1[0],y1[1],y1[2]);
if(xs<=xd&&yj<=ys)
{
A+=((xd-xs)*(ys-yj));
P+=(2*(xd-xs)+2*(ys-yj));
}
f2<<A<<' '<<P<<'\n';
return 0;
}