Pagini recente » Cod sursa (job #938080) | Cod sursa (job #2427806) | Cod sursa (job #1959563) | Cod sursa (job #2569965) | Cod sursa (job #923962)
Cod sursa(job #923962)
#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct drept
{
long x1,x2,y1,y2;
}
d[3];
long long arie(drept a)
{
return (a.x2-a.x1)*(a.y2-a.y1);
}
long long per(drept a)
{
return 2*(a.x2-a.x1+a.y2-a.y1);
}
drept reun(drept a, drept b)
{
drept aux;
aux.x1 = max(a.x1 , b.x1);
aux.y1 = max(a.y1 , b.y1);
aux.x2 = min(a.x2 , b.x2);
aux.y2 = min(a.y2 , b.y2);
return aux;
if (aux.x1 > aux.x2 || aux.y1 > aux.y2)
aux.x1 = aux.x2 = aux.y1 = aux.y2 = 0;
}
int main()
{
long long a,p;
for (int i=0; i<3; i++)
f>>d[i].x1>>d[i].y1>>d[i].x2>>d[i].y2;
a=arie(d[0])+arie(d[1])+arie(d[2])-arie(reun(d[0],d[1]))-arie(reun(d[0],d[2]))-arie(reun(d[1],d[2]))+arie(reun(reun(d[0],d[1]),d[2]));
p=per(d[0])+per(d[1])+per(d[2])-per(reun(d[0],d[1]))-per(reun(d[0],d[2]))-per(reun(d[1],d[2]))+per(reun(reun(d[0],d[1]),d[2]));
g<<a<<' '<<p;
f.close(); g.close();
return 0;
}