Pagini recente » Cod sursa (job #2139668) | Cod sursa (job #1722387) | Cod sursa (job #8284) | Cod sursa (job #1906814) | Cod sursa (job #3245839)
#include <fstream>
#define int long long
using namespace std;
ifstream in("reuniune.in");
ofstream out("reuniune.out");
struct cutie
{
int firstx, secondx, firsty, secondy;
} a[16], h;
int arie(cutie a)
{
return (a.secondx - a.firstx) * (a.secondy - a.firsty);
}
int i, j, n, best;
cutie intersectie(cutie a, cutie b)
{
///if (b.firstx > a.secondx || a.firstx > b.secondx || b.firsty > a.secondy || a.firsty > b.secondy)
a = {max(a.firstx, b.firstx), min(a.secondx, b.secondx), max(a.firsty, b.firsty), min(a.secondy, b.secondy)};
if (a.firstx > a.secondx || a.firsty > a.secondy)
a = {0,0,0,0};
return a;
}
int perim(cutie a)
{
return 2 * (a.secondx-a.firstx) + 2*(a.secondy - a.firsty);
}
int32_t main()
{
a[0].firstx = a[0].firsty = -1e9;
a[0].secondx = a[0].secondy = 1e9;
for (i = 1; i <= 3; i++)
in >> a[i].firstx >> a[i].firsty >> a[i].secondx >> a[i].secondy;
a[4] = intersectie(a[1], a[2]);
a[5] = intersectie(a[2], a[3]);
a[6] = intersectie(a[1], a[3]);
a[7] = intersectie(a[4], a[3]);
out << arie(a[1]) + arie(a[2]) + arie(a[3]) - arie(a[4]) - arie(a[5]) - arie(a[6]) + arie(a[7]) << ' ';
out << perim(a[1]) + perim(a[2]) + perim(a[3]) - perim(a[4]) - perim(a[5]) - perim(a[6]) + perim(a[7]) << ' ';
return 0;
}