Pagini recente » Cod sursa (job #864806) | Cod sursa (job #1165815) | Cod sursa (job #1897286) | Cod sursa (job #2543269) | Cod sursa (job #2091332)
#include <fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct punct
{
int x, y;
};
struct dreptunghi
{
punct a,b;
} d1,d2,d3, i1, i2, i3, i4;
void citire(dreptunghi &d)
{
fin>>d.a.x>>d.a.y>>d.b.x>>d.b.y;
}
dreptunghi inters(dreptunghi d1, dreptunghi d2)
{
dreptunghi i1;
i1.a.x=max(d1.a.x,d2.a.x);
i1.a.y=max(d1.a.y,d2.a.y);
i1.b.x=min(d1.b.x,d2.b.x);
i1.b.y=min(d1.b.y,d2.b.y);
return i1;
}
int per(dreptunghi d)
{
int s;
if(d.a.x>d.b.x||d.b.y<d.a.y)
return 0;
s=(d.b.x-d.a.x)*2+(d.b.y-d.a.y)*2;
return s;
}
int aria(dreptunghi d)
{
int s;
if(d.a.x>d.b.x||d.b.y<d.a.y)
return 0;
s=(d.b.x-d.a.x)*(d.b.y-d.a.y);
return s;
}
int main()
{
citire(d1);
citire(d2);
citire(d3);
i1=inters(d1,d2);
i2=inters(d2,d3);
i3=inters(d3,d1);
i4=inters(d1,i2);
fout<<aria(d1)+aria(d2)+aria(d3)-aria(i1)-aria(i2)-aria(i3)+aria(i4)<<' ';
fout<<per(d1)+per(d2)+per(d3)-per(i1)-per(i2)-per(i3)+per(i4);
return 0;
}