Pagini recente » Cod sursa (job #2581843) | Cod sursa (job #2935843) | Cod sursa (job #1045835) | Cod sursa (job #1475945) | Cod sursa (job #1956960)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f ("reuniune.in");
ofstream g ("reuniune.out");
long long ar,p;
struct dreptunghi{
long long xa,ya,xb,yb;
}a,b,c;
long long arie(dreptunghi x){
return 1LL*(x.xb-x.xa)*(x.yb-x.ya);
}
long long perimetru(dreptunghi x){
return 1LL*((x.xb-x.xa)+(x.yb-x.ya))*2;
}
dreptunghi inters(dreptunghi x,dreptunghi y){
dreptunghi z;
z.xa=max(x.xa,y.xa);
z.ya=max(x.ya,y.ya);
z.xb=min(x.xb,y.xb);
z.yb=min(x.yb,y.yb);
if(z.xb<z.xa||z.yb<z.ya)z.xa=0,z.ya=0,z.xb=0,z.yb=0;
return z;
}
int main()
{
f>>a.xa>>a.ya>>a.xb>>a.yb;
f>>b.xa>>b.ya>>b.xb>>b.yb;
f>>c.xa>>c.ya>>c.xb>>c.yb;
ar=arie(a)+arie(b)+arie(c)-arie(inters(a,b))-arie(inters(c,b))-arie(inters(a,c))+arie(inters(c,inters(a,b)));
p=perimetru(a)+perimetru(b)+perimetru(c)-perimetru(inters(a,b))-perimetru(inters(c,b))-perimetru(inters(a,c))+perimetru(inters(c,inters(a,b)));
g<<ar<<" "<<p;
}