Pagini recente » Cod sursa (job #370435) | Cod sursa (job #2712417) | Cod sursa (job #1307547) | Cod sursa (job #1876224) | Cod sursa (job #2193525)
#include <iostream>
#include <fstream>
using namespace std;
struct dreptunghi
{
int x1,x2,y1,y2;
};
ifstream f("reuniune.in");
ofstream g("reuniune.out");
dreptunghi d1,d2,d3;
long long aria(const dreptunghi &d)
{
return 1LL*(d.x2-d.x1)*(d.y2-d.y1);
}
long long per(const dreptunghi &d)
{
return 2LL*(d.x2-d.x1+d.y2-d.y1);
}
dreptunghi inte(const dreptunghi &d1,const dreptunghi &d2)
{
dreptunghi d;
d.x1=max(d1.x1,d2.x1);
d.y1=max(d1.y1,d2.y1);
d.x2=min(d1.x2,d2.x2);
d.y2=min(d1.y2,d2.y2);
if(d.x1>d.x2||d.y1>d.y2)
d.x1=d.y1=d.x2=d.y2=0;
return d;
}
int main()
{
long long A,P;
f>>d1.x1>>d1.y1>>d1.x2>>d1.y2;
f>>d2.x1>>d2.y1>>d2.x2>>d2.y2;
f>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
A=aria(d1)+aria(d2)+aria(d3)-aria(inte(d1,d2))-aria(inte(d1,d3))-aria(inte(d2,d3))+aria(inte(inte(d1,d2),d3));
P=per(d1)+per(d2)+per(d3)-per(inte(d1,d2))-per(inte(d1,d3))-per(inte(d2,d3))+per(inte(inte(d1,d2),d3));
g<<A<<' '<<P;
return 0;
}