Pagini recente » Cod sursa (job #980883) | Cod sursa (job #2715221) | Cod sursa (job #1321420) | Cod sursa (job #1643207) | Cod sursa (job #1324286)
#include <iostream>
#include <fstream>
using namespace std;
long long ax[4],ay[4],bx[4],by[4],areuniunea,preuniunea,i;
long long axb,ayb,bxb,byb;
long long reuniunea1(long long a)
{
axb=max(ax[1],ax[2]);
ayb=max(ay[1],ay[2]);
bxb=min(bx[1],bx[2]);
byb=min(by[1],by[2]);
if (a==1)
{
if ((bxb-axb)*(byb-ayb)<0)
{
return 0;
}
else
return(bxb-axb)*(byb-ayb);
}
else
{
if (2*(bxb-axb)+2*(byb-ayb)<0)
{
return 0;
}
else
return (2*(bxb-axb)+2*(byb-ayb));
}
}
long long reuniuneainplus(long long a)
{
axb=max(ax[3],ax[1]);
ayb=max(ay[3],ay[1]);
bxb=min(bx[3],bx[1]);
byb=min(by[3],by[1]);
if (a==1)
{
if ((bxb-axb)*(byb-ayb)<0)
{
return 0;
}
else
return(bxb-axb)*(byb-ayb);
}
else
{
if (2*(bxb-axb)+2*(byb-ayb)<0)
{
return 0;
}
else
return (2*(bxb-axb)+2*(byb-ayb));
}
}
long long reuniunea2(long long a)
{
axb=max(ax[3],ax[2]);
ayb=max(ay[3],ay[2]);
bxb=min(bx[3],bx[2]);
byb=min(by[3],by[2]);
if (a==1)
{
if ((bxb-axb)*(byb-ayb)<0)
{
return 0;
}
else
return(bxb-axb)*(byb-ayb);
}
else
{
if (2*(bxb-axb)+2*(byb-ayb)<0)
{
return 0;
}
else
return (2*(bxb-axb)+2*(byb-ayb));
}
}
long long reuniuneatotala(long long a)
{
axb=max(ax[1],axb);
ayb=max(ay[1],ayb);
bxb=min(bx[1],bxb);
byb=min(by[1],byb);
if (a==1)
{
if ((bxb-axb)*(byb-ayb)<0)
{
return 0;
}
else
return(bxb-axb)*(byb-ayb);
}
else
{
if (2*(bxb-axb)+2*(byb-ayb)<0)
{
return 0;
}
else
return (2*(bxb-axb)+2*(byb-ayb));
}
}
int main()
{
ifstream in("reuniune.in");
ofstream out("reuniune.out");
for (i=1;i<=3;i++)
{
in>>ax[i];
in>>ay[i];
in>>bx[i];
in>>by[i];
}
out<<1LL*((bx[1]-ax[1])*(by[1]-ay[1])+(bx[2]-ax[2])*(by[2]-ay[2])+(bx[3]-ax[3])*(by[3]-ay[3])-reuniunea1(1)-reuniuneainplus(1)-reuniunea2(1)+reuniuneatotala(1));
out<<" ";
out<<1LL*(2*(bx[1]-ax[1])+2*(by[1]-ay[1])+2*(bx[2]-ax[2])+2*(by[2]-ay[2])+2*(bx[3]-ax[3])+2*(by[3]-ay[3])-reuniunea1(2)-reuniuneainplus(2)-reuniunea2(2)+reuniuneatotala(2));
}