Cod sursa(job #3145027)

Utilizator maryyMaria Ciutea maryy Data 12 august 2023 01:29:17
Problema Reuniune Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.26 kb
#include <fstream>

using namespace std;
ifstream in("reuniune.in");
ofstream out("reuniune.out");
struct dreptunghi
{
    int x0, y0, x1, y1;
    //int arie;
    //int p;
}d1, d2, d3, i12, i23, i13, i123;
int Arie(dreptunghi d)
{
    return (d.x1-d.x0)*(d.y1-d.y0);
}
int Perimetru(dreptunghi d)
{
    return 2*(d.x1-d.x0)+2*(d.y1-d.y0);
}
int main()
{
    in>>d1.x0>>d1.y0>>d1.x1>>d1.y1;
    in>>d2.x0>>d2.y0>>d2.x1>>d2.y1;
    in>>d3.x0>>d3.y0>>d3.x1>>d3.y1;
    //out<<Arie(d1)+Arie(d2)+Arie(d3)<<" "<<Perimetru(d1)+Perimetru(d2)+Perimetru(d3);
    i12.x0=max(d1.x0, d2.x0);
    i12.y0=max(d1.y0, d2.y0);
    i12.x1=min(d1.x1, d2.x1);
    i12.y1=min(d1.y1, d2.y1);

    i23.x0=max(d2.x0, d3.x0);
    i23.y0=max(d2.y0, d3.y0);
    i23.x1=min(d2.x1, d3.x1);
    i23.y1=min(d2.y1, d3.y1);

    i13.x0=max(d1.x0, d3.x0);
    i13.y0=max(d1.y0, d3.y0);
    i13.x1=min(d1.x1, d3.x1);
    i13.y1=min(d1.y1, d3.y1);

    i123.x0=max(i13.x0, d2.x0);
    i123.y0=max(i13.y0, d2.y0);
    i123.x1=min(i13.x1, d2.x1);
    i123.y1=min(i13.y1, d2.y1);

    out<<Arie(d1)+Arie(d2)+Arie(d3)-Arie(i12)-Arie(i13)-Arie(i23)+Arie(i123)<<" ";
    out<<Perimetru(d1)+Perimetru(d2)+Perimetru(d3)-Perimetru(i12)-Perimetru(i13)-Perimetru(i23)+Perimetru(i123);

}