Cod sursa(job #474168)

Utilizator mihai995mihai995 mihai995 Data 2 august 2010 17:35:05
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

struct drept{long long x,y,z,t;};

ifstream in("reuniune.in");
ofstream out("reuniune.out");

inline drept sec(drept a,drept b)
{
	drept r;
	r.x=max(a.x,b.x);
	r.y=max(a.y,b.y);
	r.z=min(a.z,b.z);
	r.t=min(a.t,b.t);
	if (r.x>r.z || r.y>r.t)
		r.x=r.y=r.z=r.t=0;
	return r;
}

inline long long s(drept a)
{
	return (a.z-a.x)*(a.t-a.y);
}

inline long long p(drept a)
{
	return a.z-a.x+a.t-a.y<<1;
}

int main()
{
	drept a,b,c;
	in>>a.x>>a.y>>a.z>>a.t;
	in>>b.x>>b.y>>b.z>>b.t;
	in>>c.x>>c.y>>c.z>>c.t;
	out<<s(a)+s(b)+s(c)-s(sec(a,b))-s(sec(c,b))-s(sec(a,c))+s(sec(sec(a,b),c))<<" ";
	out<<p(a)+p(b)+p(c)-p(sec(a,b))-p(sec(c,b))-p(sec(a,c))+p(sec(sec(a,b),c))<<"\n";
	return 0;
}