Pagini recente » Cod sursa (job #1953539) | Monitorul de evaluare | Cod sursa (job #109950) | Cod sursa (job #2414990) | Cod sursa (job #1825430)
#include <fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct drept{
int x1,y1,x2,y2;
};
int s,p;
drept a,b,c;
int ar(drept d)
{
return (d.x2-d.x1)*(d.y2-d.y1);
}
int pe(drept d)
{
return 2*((d.x2-d.x1)+(d.y2-d.y1));
}
drept in(drept a,drept b)
{
drept d;
d.x1=max(a.x1,b.x1);
d.y1=max(a.y1,b.y1);
d.x2=min(a.x2,b.x2);
d.y2=min(a.y2,b.y2);
return d;
}
int main()
{
fin>>a.x1>>a.y1>>a.x2>>a.y2;
fin>>b.x1>>b.y1>>b.x2>>b.y2;
fin>>c.x1>>c.y1>>c.x2>>c.y2;
s=ar(a)+ar(b)+ar(c);
s-=(ar(in(a,b))+ar(in(b,c))+ar(in(a,c)));
s+=(ar(in(in(a,c),b)));
fout<<s<<' ';
p=pe(a)+pe(b)+pe(c);
p-=(pe(in(a,b))+pe(in(b,c))+pe(in(a,c)));
p+=(pe(in(in(a,c),b)));
fout<<p;
return 0;
}