Pagini recente » Borderou de evaluare (job #3321198) | Cod sursa (job #3354483) | Statistici popescu maricel (raduKuuu) | Borderou de evaluare (job #3350721) | Cod sursa (job #3322334)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct rectanglu{
long long x1,y1,x2,y2;
}r[3];
rectanglu in(rectanglu r1, rectanglu r2)
{
rectanglu in;
in.x1 = max (r1.x1 ,r2.x1);
in.y1 = max (r1.y1 ,r2.y1);
in.x2 = min (r1.x2 ,r2.x2);
in.y2 = min (r1.y2 ,r2.y2);
if(in.x1 <= in.x2 && in.y1 <= in.y2)
return in;
return {0,0,0,0};
}
long long arie (rectanglu r1)
{
return (r1.x2 - r1.x1) * (r1.y2 - r1.y1);
}
long long perimetru (rectanglu r1)
{
return 2 * (r1.x2 - r1.x1) + 2 * (r1.y2 - r1.y1);
}
int main()
{
for (int i = 0; i < 3 ; ++i)
fin >> r[i].x1 >> r[i].y1 >> r[i].x2 >> r[i].y2;
cout << r[0].x1 << r[0].y1 << r[0].x2 << r[0].y2 <<'\n';
rectanglu in1 = in(r[0], r[1]), in2 = in(r[1], r[2]), in3 = in(r[0],r[2]);
rectanglu in4 = in(in1, r[2]);
cout << in1.x1 << ' ' << in1.y1 << ' ' << in1.x2 << ' '<< in1.y2 <<'\n';
cout << in2.x1 << ' ' << in2.y1 << ' ' << in2.x2 << ' '<< in2.y2 <<'\n';
cout << in3.x1 << ' ' << in3.y1 << ' ' << in3.x2 << ' '<< in3.y2 <<'\n';
fout << arie(r[0]) + arie(r[1]) + arie(r[2]) - arie(in1) - arie(in2) - arie(in3) + arie(in4) <<' ';
fout << perimetru(r[0]) + perimetru(r[1]) + perimetru(r[2]) - perimetru(in1) - perimetru(in2) - perimetru(in3) + perimetru(in4) <<'\n';
return 0;
}