Pagini recente » Cod sursa (job #1942734) | Cod sursa (job #339650) | Cod sursa (job #2676407) | Cod sursa (job #612776) | Cod sursa (job #1324283)
#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)
{
return(bxb-axb)*(byb-ayb);
}
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)
{
return(bxb-axb)*(byb-ayb);
}
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)
{
return(bxb-axb)*(byb-ayb);
}
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)
{
return(bxb-axb)*(byb-ayb);
}
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<<(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<<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);
}