Pagini recente » Cod sursa (job #4692) | Cod sursa (job #1908811) | Cod sursa (job #1904166) | Cod sursa (job #2064273) | Cod sursa (job #2653466)
#include <iostream>
using namespace std;
struct drept {int x,y,a,b;};
drept d[4];
int ar(drept D)
{ return (D.a-D.x)*(D.b-D.y);}
int per(drept D)
{ return 2*((D.a-D.x)+(D.b-D.y));}
drept inters(drept A, drept B)
{ int x=max(A.x,B.x);
int y=max(A.y,B.y);
int a=min(A.a,B.a);
int b=min(A.b,B.a);
drept v={0,0,0,0};
if(x<=a and y<=b) {v.x=x; v.y=y; v.a=a; v.b=b;}
return v;
}
int main()
{ for(int i=1;i<=3;i++) cin>>d[i].x>>d[i].y>>d[i].a>>d[i].b;
int perimetru,arie;
arie=ar(d[1])+ar(d[2])+ar(d[3])-ar(inters(d[1],d[2]))-ar(inters(d[1],d[3]))-ar(inters(d[2],d[3]))+ar(inters(inters(d[1],d[2]),d[3]));
perimetru=per(d[1])+per(d[2])+per(d[3])-per(inters(d[1],d[2]))-per(inters(d[1],d[3]))-per(inters(d[2],d[3]))+per(inters(inters(d[1],d[2]),d[3]));
cout<<arie<<" "<<perimetru;
return 0;
}