Pagini recente » Cod sursa (job #2215404) | Cod sursa (job #965738) | Cod sursa (job #2765737) | Cod sursa (job #52470) | Cod sursa (job #1972004)
#include<fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
long long ar,p;
struct drept{
long long xa,ya,xb,yb;
}a,b,c;
long long arie(drept x){
return 1LL*(x.xb-x.xa)*(x.yb-x.ya);
}
long long perimetru(drept x){
return 1LL*((x.xb-x.xa)+(x.yb-x.ya))*2;
}
drept inters(drept x,drept y){
drept 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()
{
fin>>a.xa>>a.ya>>a.xb>>a.yb;
fin>>b.xa>>b.ya>>b.xb>>b.yb;
fin>>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)));
fout<<ar<<" "<<p;
}