Pagini recente » Cod sursa (job #3158341) | Sedinta 2007-04-24 | Cod sursa (job #3250107) | Cod sursa (job #775672) | Cod sursa (job #3299835)
#include <bits/stdc++.h>
using namespace std;
#define STDIO 0
#if STDIO
#define fin cin
#define fout cout
#else
ifstream fin("txt.in");
ofstream fout("txt.out");
#endif // STDIO
struct Dreptunghi {
long long x0, y0, x1, y1;
} dr1, dr2, dr3;
static inline long long Arie(Dreptunghi& a) {
return (a.x1 - a.x0) * (a.y1 - a.y0);
}
static inline long long Peri(Dreptunghi& a) {
return 2 * ((a.x1 - a.x0) + (a.y1 - a.y0));
}
static inline Dreptunghi Unire(Dreptunghi a, Dreptunghi b) {
long long x0 = max(a.x0, b.x0);
long long y0 = max(a.y0, b.y0);
long long x1 = min(a.x1, b.x1);
long long y1 = min(a.y1, b.y1);
if(x0 > x1 || y0 > y1) return {0, 0, 0, 0};
return {x0, y0, x1, y1};
}
int main() {
fin >> dr1.x0 >> dr1.y0 >> dr1.x1 >> dr1.y1;
fin >> dr2.x0 >> dr2.y0 >> dr2.x1 >> dr2.y1;
fin >> dr3.x0 >> dr3.y0 >> dr3.x1 >> dr3.y1;
Dreptunghi d12 = Unire(dr1, dr2);
Dreptunghi d23 = Unire(dr2, dr3);
Dreptunghi d13 = Unire(dr1, dr3);
Dreptunghi d123 = Unire(Unire(dr1, dr2), dr3);
fout << Arie(dr1) + Arie(dr2) + Arie(dr3) - Arie(d12) - Arie(d23) - Arie(d13) + Arie(d123) << " ";
fout << Peri(dr1) + Peri(dr2) + Peri(dr3) - Peri(d12) - Peri(d23) - Peri(d13) + Peri(d123);
return 0;
}