Cod sursa(job #1418712)

Utilizator Liviu98Dinca Liviu Liviu98 Data 13 aprilie 2015 20:14:45
Problema Reuniune Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
struct Dr
{
    long long x1,y1,x2,y2;
}d1,d2,d3,i1,i2,i3,i4;
ifstream g("reuniune.in");
ofstream f("reuniune.out");

void Int(Dr A,Dr B,Dr &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);
    if (C.x1>C.x2 || C.y1>C.y2)
    {
        C.x1=0;C.x2=0;C.y1=0;C.y2=0;
    }
}

long long A(Dr A)
{
    return ((A.x2-A.x1)*(A.y2-A.y1));
}

long long P(Dr A)
{
    return (2*(A.x2-A.x1)+2*(A.y2-A.y1));
}

int main()
{
    g>>d1.x1>>d1.y1>>d1.x2>>d1.y2>>d2.x1>>d2.y1>>d2.x2>>d2.y2>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
    Int(d1,d2,i1);
    Int(d1,d3,i2);
    Int(d2,d3,i3);
    Int(i1,d3,i4);
    f<<A(d1)+A(d2)+A(d3)-A(i1)-A(i2)-A(i3)+A(i4)<<' ';
    f<<P(d1)+P(d2)+P(d3)-P(i1)-P(i2)-P(i3)+P(i4)<<' ';
}