Cod sursa(job #2874739)

Utilizator rareshinnhoMiroiu Rares rareshinnho Data 20 martie 2022 09:53:17
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("reuniune.in");
ofstream g("reuniune.out");

struct dreptunghi
{
    long long dx,dy,sx,sy;
}d[4];

dreptunghi inters(dreptunghi A, dreptunghi B)
{
    dreptunghi C,D;
    C.dx=max(A.dx,B.dx);
    C.dy=max(A.dy,B.dy);
    C.sx=min(A.sx,B.sx);
    C.sy=min(A.sy,B.sy);
    if(C.dx<=C.sx&&C.dy<=C.sy)
        return C;
    D.dx=D.dy=D.sy=D.sx=0;
    return D;
}

long long arie(dreptunghi A)
{
    return (A.sx-A.dx)*(A.sy-A.dy);
}

long long p(dreptunghi A)
{
    return 2*(A.sx-A.dx)+2*(A.sy-A.dy);
}

int main()
{
    for(int i=1;i<=3;i++)
    {
        f>>d[i].dx>>d[i].dy>>d[i].sx>>d[i].sy;
    }
    g<<arie(d[1])+arie(d[2])+arie(d[3])-arie(inters(d[1],d[2]))-arie(inters(d[1],d[3]))-arie(inters(d[2],d[3]))+arie(inters(inters(d[1],d[2]),d[3]))<<' ';
    g<<p(d[1])+p(d[2])+p(d[3])-p(inters(d[1],d[2]))-p(inters(d[1],d[3]))-p(inters(d[2],d[3]))+p(inters(inters(d[1],d[2]),d[3]));
    return 0;
}