Pagini recente » Cod sursa (job #2870748) | Cod sursa (job #2087633) | Cod sursa (job #1461464) | Cod sursa (job #1719783) | Cod sursa (job #2703923)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct dreapta
{
int x,y,l,c;
} d[4];
dreapta inters(dreapta a,dreapta b)
{
dreapta d;
d.x=max(a.x,b.x);
d.y=max(a.y,b.y);
d.l=min(a.l,b.l);
d.c=min(a.c,b.c);
if(d.x>d.l||d.y>d.c) d.x=d.y=d.l=d.c=0;
return d;
}
long long arie(dreapta a)
{
return (a.l-a.x)*(a.c-a.y);
}
long long perimetru(dreapta a)
{
return (a.l-a.x+a.c-a.y)*2;
}
int main()
{int i;
for(i=1; i<=3; i++)
{
fin>>d[i].x>>d[i].y>>d[i].l>>d[i].c;
}
long long ar=arie(d[1])+arie(d[2])+arie(d[3])-arie(inters(d[1],d[2]))-arie(inters(d[2],d[3]))-arie(inters(d[1],d[3]))+arie(inters(inters(d[1],d[2]),d[3]));
fout<<ar<<" ";
long long per=perimetru(d[1])+perimetru(d[2])+perimetru(d[3])-perimetru(inters(d[1],d[2]))-perimetru(inters(d[2],d[3]))-perimetru(inters(d[1],d[3]))+perimetru(inters(inters(d[1],d[2]),d[3]));
fout<<per;
return 0;
}