Cod sursa(job #992670)

Utilizator monica11Szekely Monica monica11 Data 2 septembrie 2013 12:35:30
Problema Reuniune Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi
{
    long long int xs,ys,xd,yd;
};
dreptunghi d1,d2,d3;
dreptunghi intersectie(dreptunghi d1,dreptunghi d2)
{
    dreptunghi d;
    d.xs=max(d1.xs,d2.xs);
    d.xd=min(d1.xd,d2.xd);
    d.ys=max(d1.ys,d2.ys);
    d.yd=min(d1.yd,d2.yd);
    if (d.xs>d.xd&&d.ys>d.yd)
        d.xs=d.ys=d.xd=d.yd=0;
    return d;
}
long long arie(dreptunghi d)
{
    return(d.xd-d.xs)*(d.yd-d.ys);
}
long long perim(dreptunghi d)
{
    return(d.xd-d.xs+d.yd-d.ys)*2;
}
int main()
{
    f>>d1.xs>>d1.ys>>d1.xd>>d1.yd;
    f>>d2.xs>>d2.ys>>d2.xd>>d2.yd;
    f>>d3.xs>>d3.ys>>d3.xd>>d3.yd;
    g<<arie(d1)+arie(d2)+arie(d3)-arie(intersectie(d1,d2))-arie(intersectie(d1,d3))-arie(intersectie(d2,d3))+arie(intersectie(intersectie(d1,d2),d3))<<" ";
    g<<perim(d1)+perim(d2)+perim(d3)-perim(intersectie(d1,d2))-perim(intersectie(d1,d3))-perim(intersectie(d2,d3))+perim(intersectie(intersectie(d1,d2),d3));
    return 0;
}