Pagini recente » Cod sursa (job #1124832) | Cod sursa (job #989273) | Cod sursa (job #3353734) | Monitorul de evaluare | Cod sursa (job #3322336)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct dreptunghi
{
long long x,y,a,b;
};
long long perimetru(dreptunghi A)
{
return 2*(abs(A.a-A.x)+abs(A.b-A.y));
}
long long aria(dreptunghi A)
{
return abs(A.a-A.x)*abs(A.b-A.y);
}
dreptunghi intersectie(dreptunghi A, dreptunghi B)
{
dreptunghi C;
C.x=max(A.x,B.x);
C.a=min(A.a,B.a);
C.y=max(A.y,B.y);
C.b=min(A.b,B.b);
if(C.x<=C.a&&C.y<=C.b) return C;
C.a=C.b=C.x=C.y=0;
return C;
}
int main()
{
dreptunghi A,B,C;
fin>>A.x>>A.y>>A.a>>A.b;
fin>>B.x>>B.y>>B.a>>B.b;
fin>>C.x>>C.y>>C.a>>C.b;
long long P=perimetru(A)+perimetru(B)+perimetru(C)-perimetru(intersectie(A,B))-perimetru(intersectie(C,B))-perimetru(intersectie(A,C))+perimetru(intersectie(intersectie(A,B),C));
long long AR=aria(A)+aria(B)+aria(C)-aria(intersectie(A,B))-aria(intersectie(C,B))-aria(intersectie(A,C))+aria(intersectie(intersectie(A,B),C));
fout<<AR<<' '<<P;
return 0;
}