Cod sursa(job #2327011)

Utilizator vladadAndries Vlad Andrei vladad Data 24 ianuarie 2019 12:32:35
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#define ll long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct drp
{
    ll x,y,a,b;
} d[4];
ll ar(drp A)
{
    return (A.a-A.x)*(A.b-A.y);
}
ll per(drp A)
{
    return 2*(A.a-A.x+A.b-A.y);
}
drp inters(drp A, drp B)
{
    drp C,D;
    C.x=max(A.x,B.x);
    C.y=max(A.y,B.y);
    C.a=min(A.a,B.a);
    C.b=min(A.b,B.b);
    if(C.x<=C.a and C.y<=C.b) return C;
    D.x=D.y=D.a=D.b=0;
    return D;
}
int main()
{
    for(int i=1; i<=3; i++) f>>d[i].x>>d[i].y>>d[i].a>>d[i].b;
    g<<ar(d[1])+ar(d[2])+ar(d[3])-ar(inters(d[1],d[2]))-ar(inters(d[1],d[3]))-ar(inters(d[3],d[2]))+ar(inters(inters(d[1],d[2]),d[3]))<<" ";
    g<<per(d[1])+per(d[2])+per(d[3])-per(inters(d[1],d[2]))-per(inters(d[1],d[3]))-per(inters(d[3],d[2]))+per(inters(inters(d[1],d[2]),d[3]));
    g.close();
    return 0;
}