Pagini recente » Cod sursa (job #1345841) | Cod sursa (job #326647) | Cod sursa (job #108346) | Cod sursa (job #3308965) | Cod sursa (job #3328338)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define ll long long
// #define gout cout
// #define fin cin
using namespace std;
ifstream fin("reuniune.in");
ofstream gout("reuniune.out");
struct dreptunghi
{
int x1,x2,y1,y2;
} d1,d2,d3;
inline int per(dreptunghi d)
{
if(d.x1>d.x2||d.y1>d.y2)return 0;
return 2*abs(d.x1-d.x2)+abs(d.y1-d.y2)*2;
}
inline int arie(dreptunghi d)
{
if(d.x1>d.x2||d.y1>d.y2)return 0;
return abs(d.x1-d.x2)*abs(d.y1-d.y2);
}
dreptunghi inter(dreptunghi a,dreptunghi b)
{
static dreptunghi r;
r.x1=max(a.x1,b.x1);
r.x2=min(a.x2,b.x2);
r.y1=max(a.y1,b.y1);
r.y2=min(a.y2,b.y2);
return r;
}
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(0);
gout.tie(0);
fin>>d1.x1>>d1.y1>>d1.x2>>d1.y2
>>d2.x1>>d2.y1>>d2.x2>>d2.y2
>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
///arie
gout<<arie(d1)+arie(d2)+arie(d3)-arie(inter(d1,d2))-arie(inter(d1,d3))-arie(inter(d2,d3))
+arie(inter(d1,inter(d2,d3)))<<' ';
///perimetru
gout<<per(d1)+per(d2)+per(d3)-per(inter(d1,d2))-per(inter(d1,d3))-per(inter(d2,d3))
+per(inter(d1,inter(d2,d3)));
return 0;
}