Pagini recente » Cod sursa (job #504144) | Cod sursa (job #656847) | Cod sursa (job #2804230) | Cod sursa (job #20940) | Cod sursa (job #1436065)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dreptunghi
{
long long x1,x2,y1,y2;
};
long long perimetru(dreptunghi d1)
{
return 2*(d1.x2-d1.x1)+2*(d1.y2-d1.y1);
}
long long arie(dreptunghi d1)
{
return (d1.x2-d1.x1)*(d1.y2-d1.y1);
}
dreptunghi intersectie(dreptunghi d1,dreptunghi d2)
{
dreptunghi inter;
inter.x1=max(d1.x1,d2.x1);
inter.x2=min(d1.x2,d2.x2);
inter.y1=max(d1.y1,d2.y1);
inter.y2=min(d1.y2,d2.y2);
if(inter.x1>inter.x2 || inter.y1>inter.y2)
{
inter.x1=inter.x2=inter.y1=inter.y2=0;
}
return inter;
}
int main()
{
dreptunghi d1,d2,d3;
f>>d1.x1>>d1.y1>>d1.x2>>d1.y2>>d2.x1>>d2.y1>>d2.x2>>d2.y2>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
g<<arie(d1)+arie(d2)+arie(d3)-arie(intersectie(d1,d2))-arie(intersectie(d2,d3))-arie(intersectie(d1,d3))+arie(intersectie(intersectie(d1,d2),d3));
g<<" ";
g<<perimetru(d1)+perimetru(d2)+perimetru(d3)-perimetru(intersectie(d1,d2))-perimetru(intersectie(d2,d3))-perimetru(intersectie(d1,d3))+perimetru(intersectie(intersectie(d1,d2),d3));
g<<'\n';
}