Pagini recente » Cod sursa (job #3178766) | Cod sursa (job #2199860) | Cod sursa (job #2356489) | Cod sursa (job #2492230) | Cod sursa (job #1064064)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct drpt
{
int x1, x2, y1, y2;
};
drpt nul;
drpt inter(drpt a, drpt b)
{
drpt aux;
aux.x1=max(a.x1, b.x1);
aux.x2=min(a.x2, b.x2);
aux.y1=max(a.y1, b.y1);
aux.y2=min(a.y2, b.y2);
if(aux.x2<aux.x1||aux.y2<aux.y1) aux=nul;
return aux;
}
long long arie(drpt a)
{
return (long long)(a.x2-a.x1)*(a.y2-a.y1);
}
long long perimetru(drpt a)
{
return (long long)(1LL*a.x2-a.x1+a.y2-a.y1)*2;
}
int main()
{
drpt a, b, c;
long long ar, per;
fin>>a.x1>>a.y1>>a.x2>>a.y2>>b.x1>>b.y1>>b.x2>>b.y2>>c.x1>>c.y1>>c.x2>>c.y2;
ar=arie(a)+arie(b)+arie(c)-arie(inter(a, b))-arie(inter(b, c))-arie(inter(c, a))+arie(inter(a, inter(b, c)));
per=perimetru(a)+perimetru(b)+perimetru(c)-perimetru(inter(a, b))-perimetru(inter(b, c))-perimetru(inter(c, a))+perimetru(inter(a, inter(b, c)));
fout<<ar<<" "<<per;
}