Cod sursa(job #2811607)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 2 decembrie 2021 18:27:12
Problema Reuniune Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");

struct dreptunghi
{
    long long x1,x2,y1,y2;
} a[4];

dreptunghi inters(dreptunghi a, dreptunghi b)
{
    dreptunghi d;
    d.x1=max(a.x1,b.x1);
    d.x2=min(a.x2,b.x2);
    d.y1=max(a.y1,b.y1);
    d.y2=min(a.y2,b.y2);
    return d;
}
long long  arie(dreptunghi a)
{
    return (a.x2-a.x1)*(a.y2-a.y1);
}
long long perimetru(dreptunghi a)
{
    return (a.x2-a.x1+a.y2-a.y1)*2;
}
int main()
{
    int i;
    for(i=1; i<=3; i++)
    {
        fin>>a[i].x1>>a[i].y1>>a[i].x2>>a[i].y2;

    }
    long long Arie=arie(a[1])+arie(a[2])+arie(a[3])-arie(inters(a[1],a[2]))-arie(inters(a[1],a[3]))-arie(inters(a[2],a[3]))+arie(inters(a[1],inters(a[2],a[3])));
    long long p=perimetru(a[1])+perimetru(a[2])+perimetru(a[3])-perimetru(inters(a[1],a[2]))-perimetru(inters(a[1],a[3]))-perimetru(inters(a[2],a[3]))+perimetru(inters(a[1],inters(a[2],a[3])));
    fout<<Arie<<" "<<p;
    return 0;
}