Pagini recente » Cod sursa (job #2884431) | Cod sursa (job #2977167) | Cod sursa (job #2604679) | Cod sursa (job #859257) | Cod sursa (job #1527212)
#include<fstream>
#include<cmath>
using namespace std;
struct coordonate
{
int josX;
int josY;
int susX;
int susY;
}drept1,drept2,drept3;
int main()
{
ifstream f("reuniune.in");
ofstream g("reuniune.out");
f>>drept1.josX>>drept1.josY>>drept1.susX>>drept1.susY;
f>>drept2.josX>>drept2.josY>>drept2.susX>>drept2.susY;
f>>drept3.josX>>drept3.josY>>drept3.susX>>drept3.susY;
long long reSX12=max(drept1.josX,drept2.josX);
long long reDX12=min(drept1.susX,drept2.susX);
long long reJY12=max(drept1.josY,drept2.josY);
long long reSY12=min(drept1.susY,drept2.susY);
long long aRe12=(abs(reDX12-reSX12))*(abs(reSY12-reJY12));
long long pRe12=abs(reDX12-reSX12)+abs(reSY12-reJY12);
if(reSX12>reDX12||reJY12>reSY12){aRe12=0; pRe12=0;}
long long reSX13=max(drept1.josX,drept3.josX);
long long reDX13=min(drept1.susX,drept3.susX);
long long reJY13=max(drept1.josY,drept3.josY);
long long reSY13=min(drept1.susY,drept3.susY);
long long aRe13=(abs(reDX13-reSX13))*(abs(reSY13-reJY13));
long long pRe13=abs(reDX13-reSX13)+abs(reSY13-reJY13);
if(reSX13>reDX13||reJY13>reSY13){aRe13=0; pRe13=0;}
long long reSX23=max(drept2.josX,drept3.josX);
long long reDX23=min(drept2.susX,drept3.susX);
long long reJY23=max(drept2.josY,drept3.josY);
long long reSY23=min(drept2.susY,drept3.susY);
long long aRe23=(abs(reDX23-reSX23))*(abs(reSY23-reJY23));
long long pRe23=abs(reDX23-reSX23)+abs(reSY23-reJY23);
if(reSX23>reDX23||reJY23>reSY23){aRe23=0; pRe23=0;}
long long reSX123=max(max(drept2.josX,drept3.josX),drept1.josX);
long long reDX123=min(min(drept2.susX,drept3.susX),drept1.susX);
long long reJY123=max(max(drept2.josY,drept3.josY),drept1.josY);
long long reSY123=min(min(drept2.susY,drept3.susY),drept1.susY);
long long aRe123=(abs(reDX123-reSX123))*(abs(reSY123-reJY123));
long long pRe123=abs(reDX123-reSX123)+abs(reSY123-reJY123);
if(reSX123>reDX123||reJY123>reSY123){aRe123=0; pRe123=0;}
long long a1=(abs(drept1.susX-drept1.josX))*(abs(drept1.susY-drept1.josY));
long long a2=(abs(drept2.susX-drept2.josX))*(abs(drept2.susY-drept2.josY));
long long a3=(abs(drept3.susX-drept3.josX))*(abs(drept3.susY-drept3.josY));
long long aTot=a1+a2+a3-aRe12-aRe13-aRe23+aRe123;
g<<aTot<<" ";
long long p1=abs(drept1.susX-drept1.josX)+abs(drept1.susY-drept1.josY);
long long p2=abs(drept2.susX-drept2.josX)+abs(drept2.susY-drept2.josY);
long long p3=abs(drept3.susX-drept3.josX)+abs(drept3.susY-drept3.josY);
long long pTot=p1+p2+p3-pRe12-pRe13-pRe23+pRe123;
g<<2*pTot;
return 0;
}