Cod sursa(job #3217742)

Utilizator andreifilimonPopescu Filimon Andrei Cosmin andreifilimon Data 24 martie 2024 15:03:13
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;ifstream cin("reuniune.in");ofstream cout("reuniune.out");struct co {int x1, y1, x2, y2;} a, b, c, ab, bc, ca, abc;long long ar(co& dr) {return (1LL)*(dr.x2-dr.x1)*(dr.y2-dr.y1);}long long pr(co& dr) {return (1LL)*2*((dr.x2-dr.x1)+(dr.y2-dr.y1));}co inter(co& x, co& y) {if(max(x.x1, y.x1)>min(x.x2, y.x2) || max(x.y1, y.y1)>min(x.y2, y.y2))return {0, 0, 0, 0};return {max(x.x1, y.x1), max(x.y1, y.y1), min(x.x2, y.x2), min(x.y2, y.y2)};}int main(){cin>>a.x1>>a.y1>>a.x2>>a.y2;cin>>b.x1>>b.y1>>b.x2>>b.y2;cin>>c.x1>>c.y1>>c.x2>>c.y2;ab=inter(a, b);bc=inter(b, c);ca=inter(c, a);abc=inter(ab, c);cout<<ar(a)+ar(b)+ar(c)-ar(ab)-ar(bc)-ar(ca)+ar(abc)<<" ";cout<<pr(a)+pr(b)+pr(c)-pr(ab)-pr(bc)-pr(ca)+pr(abc);}