Pagini recente » Cod sursa (job #2692430) | Cod sursa (job #741985) | Cod sursa (job #2555264) | Cod sursa (job #2799256) | Cod sursa (job #530120)
Cod sursa(job #530120)
#include <fstream>
using namespace std;
ifstream in("reuniune.in");
ofstream out("reuniune.out");
struct punct
{
long long x0,y0,x1,y1;
};
punct a,b,c;
inline long long maxim(long long x,long long y)
{
return x > y ? x : y;
}
inline long long minim(long long x,long long y)
{
return x < y ? x : y;
}
inline long long ar(punct a)
{
return (a.x1-a.x0)*(a.y1-a.y0);
}
inline long long p(punct a)
{
return 2*(a.x1-a.x0)+ 2*(a.y1-a.y0);
}
punct i(punct a,punct b)
{
punct inter;
inter.x0=maxim(a.x0,b.x0);
inter.y0=maxim(a.y0,b.y0);
inter.x1=minim(a.x1,b.x1);
inter.y1=minim(a.y1,b.y1);
if(inter.x0>inter.x1 || inter.y0>inter.y1)
{
inter.x0=0,inter.x1=0,inter.y0=0,inter.y1=0;
}
return inter;
}
void citire()
{
in>>a.x0>>a.y0>>a.x1>>a.y1;
in>>b.x0>>b.y0>>b.x1>>b.y1;
in>>c.x0>>c.y0>>c.x1>>c.y1;
}
void work()
{
out<<ar(a)+ar(b)+ar(c)-ar(i(a,b))-ar(i(b,c))-ar(i(a,c))+ar(i(i(b,c),a))<<" ";
out<<p(a)+p(b)+p(c)-p(i(a,b))-p(i(b,c))-p(i(a,c))+p(i(i(b,c),a));
}
int main()
{
citire();
work();
return 0;
}