Cod sursa(job #2876965)

Utilizator Simon2712Simon Slanina Simon2712 Data 23 martie 2022 22:42:21
Problema Reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;
ifstream cin("reuniune.in");
ofstream cout("reuniune.out");
#define ll long long
struct ura{
    ll x1,y1,x2,y2;
} v[4];
ura f(ura a,ura b)
{
    ura c;
    c.x1=max(a.x1,b.x1);
    c.y1=max(a.y1,b.y1);
    c.x2=min(a.x2,b.x2);
    c.y2=min(a.y2,b.y2);
    return c;
}
ll ar(ura a)
{
    if(a.x2<a.x1 || a.y2<a.y1)
        return 0;
    return(a.x2-a.x1)*(a.y2-a.y1);
}
ll per(ura a)
{
    if(a.x2<a.x1 || a.y2<a.y1)
        return 0;
    return(a.x2-a.x1)+(a.y2-a.y1);
}
int main()
{
    ll i,rez;
    for(i=1;i<=3;i++)
    {
        cin>>v[i].x1>>v[i].y1>>v[i].x2>>v[i].y2;
    }
    rez=ar(v[1])+ar(v[2])+ar(v[3])-ar(f(v[1],v[2]))-ar(f(v[1],v[3]))-ar(f(v[3],v[2]))+ar(f(v[3],f(v[1],v[2])));
    cout<<rez;
    rez=per(v[1])+per(v[2])+per(v[3])-per(f(v[1],v[2]))-per(f(v[1],v[3]))-per(f(v[3],v[2]))+per(f(v[3],f(v[1],v[2])));
    cout<<" "<<2*rez;
    return 0;
}