Pagini recente » Cod sursa (job #2061302) | Cod sursa (job #2255502) | Cod sursa (job #61918) | Cod sursa (job #1585615) | Cod sursa (job #1901946)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi
{
long long x1,y1,x2,y2;
}a,b,c,d,e,q,h;
void intersectie(dreptunghi p, dreptunghi q, dreptunghi &r)
{
r.x1=max(p.x1,q.x1);
r.y1=max(p.y1,q.y1);
r.x2=min(p.x2,q.x2);
r.y2=min(p.y2,q.y2);
if(r.x1>r.x2 || r.y1>r.y2)
{
r.x1=0;
r.y1=0;
r.x2=0;
r.y2=0;
}
}
long long arie (dreptunghi p)
{
return ((p.x2-p.x1)*(p.y2-p.y1));
}
long long perimetru (dreptunghi p)
{
return(((p.x2-p.x1)+(p.y2-p.y1))*2);
}
long long z,k,sa,sp;
int main()
{
f>>a.x1>>a.y1>>a.x2>>a.y2;
f>>b.x1>>b.y1>>b.x2>>b.y2;
f>>c.x1>>c.y1>>c.x2>>c.y2;
intersectie(a,c,d);
intersectie(a,b,e);
intersectie(b,c,q);
intersectie(d,b,h);
sa=arie(a)+arie(b)+arie(c)-arie(d)-arie(e)-arie(q)+arie(h);
sp=perimetru(a)+perimetru(b)+perimetru(c)-perimetru(d)-perimetru(e)-perimetru(q)+perimetru(h);
g<<sa<<' '<<sp;
return 0;
}