Pagini recente » Cod sursa (job #2987414) | Cod sursa (job #1792372) | Cod sursa (job #2938693)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("reuniune.in");
ofstream fout ("reuniune.out");
struct seg{
long long p,q;
};
struct drept{
seg x;
seg y;
};
drept v[5];
seg seg_int(seg a, seg b){
if(max(a.p,b.p)>min(a.q,b.q))
return {0,0};
return {max(a.p,b.p),min(a.q,b.q)};
}
drept drept_int(drept a,drept b)
{
return {seg_int(a.x,b.x),seg_int(a.y,b.y)};
}
long long A(drept a)
{
return 1ll*(a.x.q-a.x.p)*(a.y.q-a.y.p);
}
long long P(drept a)
{
return (a.x.q-a.x.p)*2+(a.y.q-a.y.p)*2;
}
///long long Per()
///{
/// ans+=P(v[1])+P(v[2])+P(v[3])-P(drept_int(v[1]))
///}
///int intersect()
int main()
{
fin>>v[1].x.p>>v[1].y.p>>v[1].x.q>>v[1].y.q;
fin>>v[2].x.p>>v[2].y.p>>v[2].x.q>>v[2].y.q;
fin>>v[3].x.p>>v[3].y.p>>v[3].x.q>>v[3].y.q;
long long Arie=A(v[1])+A(v[2])+A(v[3])-A(drept_int(v[1],v[2]))-A(drept_int(v[1],v[3]))-A(drept_int(v[2],v[3]))+A(drept_int(v[1],drept_int(v[2],v[3])));
long long Lungime=P(v[1])+P(v[2])+P(v[3])-P(drept_int(v[1],v[2]))-P(drept_int(v[1],v[3]))-P(drept_int(v[2],v[3]))+P(drept_int(v[1],drept_int(v[2],v[3])));
fout<<Arie<<" "<<Lungime;
return 0;
}