Pagini recente » Cod sursa (job #1744611) | Cod sursa (job #114190) | Cod sursa (job #2765529) | Cod sursa (job #2576228) | Cod sursa (job #980036)
Cod sursa(job #980036)
#include<fstream>
#define L long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct dr{L x1,x2,y1,y2;};
dr d1,d2,d3;
dr det(dr d1,dr d2)
{
dr nul;
nul.x1=nul.x2=nul.y1=nul.y2=0;
dr dre;
dre.x1=max(d1.x1,d2.x1); dre.y1=max(d1.y1,d2.y1);
dre.x2=min(d1.x2,d2.x2); dre.y2=min(d1.y2,d2.y2);
if(dre.x1>dre.x2||dre.y1>dre.y2)
return nul;
return dre;
}
L aria(dr d) { return (d.x2-d.x1)*(d.y2-d.y1); }
L peri(dr d) { return 2*(d.x2-d.x1+d.y2-d.y1); }
int main ()
{
f>>d1.x1>>d1.y1>>d1.x2>>d1.y2;
f>>d2.x1>>d2.y1>>d2.x2>>d2.y2;
f>>d3.x1>>d3.y1>>d3.x2>>d3.y2;
g<<aria(d1)+aria(d2)+aria(d3)-aria(det(d1,d2))-aria(det(d2,d3))-aria(det(d1,d3))+aria(det(det(d1,d2),d3))<<" "<<peri(d1)+peri(d2)+peri(d3)-peri(det(d1,d2))-peri(det(d2,d3))-peri(det(d1,d3))+peri(det(det(d1,d2),d3));
return 0;
}