Pagini recente » Cod sursa (job #1079369) | Cod sursa (job #1615494) | Cod sursa (job #1938704) | Cod sursa (job #3138910) | Cod sursa (job #2276206)
#include <fstream>
std::ifstream cin("reuniune.in");
std::ofstream cout("reuniune.out");
#define ll long long
#define maxi(a,b) a>b?a:b
#define mini(a,b) a<b?a:b
struct pot{ll x1,y1,x2,y2;} d[4];
ll arie(pot a){
return ((a.x2-a.x1)*(a.y2-a.y1));
}
ll per(pot a){
return 2*((a.x2-a.x1)+(a.y2-a.y1));
}
pot inters(pot a,pot b){
pot c;
c.x1=maxi(a.x1,b.x1);
c.y1=maxi(a.y1,b.y1);
c.x2=mini(a.x2,b.x2);
c.y2=mini(a.y2,b.y2);
if(c.x1<=c.x2&&c.y1<=c.y2) return c;
else{
c.x1=c.x2=c.y1=c.y2=0;
return c;
}
}
int main()
{
for(int i=1;i<=3;i++)
cin>>d[i].x1>>d[i].y1>>d[i].x2>>d[i].y2;
cout<<arie(d[1])+arie(d[2])+arie(d[3])-arie(inters(d[1],d[2]))-arie(inters(d[1],d[3]))-arie(inters(d[2],d[3]))+arie(inters(d[1],inters(d[2],d[3])))<<'\n';
cout<<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(d[1],inters(d[2],d[3])))<<'\n';
return 0;
}