Pagini recente » Cod sursa (job #135005) | Cod sursa (job #981144) | Cod sursa (job #205025) | Cod sursa (job #1556841) | Cod sursa (job #1732664)
#include <fstream>
using namespace std;
ifstream f ("reuniune.in");
ofstream g ("reuniune.out");
struct bla {
long long l1 , l2 , c1 , c2;
};
bla d1 , d2 , d3 , d12 , d23 , d13 , d123;
void intersect(bla &a , bla b , bla c) {
a.l1 = max(b.l1 , c.l1);
a.c1 = max(b.c1 , c.c1);
a.l2 = min(b.l2 , c.l2);
a.c2 = min(b.c2 , c.c2);
if (a.l1 > a.l2 || a.c1 > a.c2) {
a.l1 = a.l2 = a.c1 = a.c2 = 0;
}
}
long long arie(bla a) {
return (a.l2 - a.l1) * (a.c2 - a.c1);
}
long long peri(bla a) {
return 2 * ((a.l2 - a.l1) + (a.c2 - a.c1));
}
int main() {
f >> d1.l1 >> d1.c1 >> d1.l2 >> d1.c2;
f >> d2.l1 >> d2.c1 >> d2.l2 >> d2.c2;
f >> d3.l1 >> d3.c1 >> d3.l2 >> d3.c2;
intersect(d12 , d1 , d2);
intersect(d13 , d1 , d3);
intersect(d23 , d2 , d3);
intersect(d123 , d12 , d3);
long long ans1 = arie(d1) + arie(d2) + arie(d3) - arie(d12) - arie(d13) - arie(d23) + arie(d123);
long long ans2 = peri(d1) + peri(d2) + peri(d3) - peri(d12) - peri(d13) - peri(d23) + peri(d123);
g << ans1 << " " << ans2;
return 0;
}