Pagini recente » Cod sursa (job #445014) | Cod sursa (job #498926) | Cod sursa (job #2594730) | Cod sursa (job #1843606) | Cod sursa (job #839164)
Cod sursa(job #839164)
#include <fstream>
using namespace std;
long long x0[5], y0[5], x1[5], y1[5];
long long x, y, i, j, arietot, perimtot;
long long arie( long long i)
{
if (x1[i]>x0[i]) x= (x1[i]-x0[i]);
else x=x0[i]-x1[i];
if (y1[i]>y0[i]) y=y1[i]-y0[i];
else y=y0[i]-y1[i];
return x*y;
}
long long arie2(long long i, long long j)
{
x=x1[j]-x0[i];
if (x<0) x=-x;
y=y1[j]-y0[i];
if (y<0) y=-y;
return x*y;
}
long long perim(long long i)
{
x= x1[i]-x0[i];
if (x<0) x=-x;
y=y1[i]-y0[i];
if (y<0) y=-y;
return 2*(x+y);
}
long long perim2(long long i, long long j)
{
x=x1[j]-x0[i];
if (x<0) x=-x;
y=y1[j]-y0[i];
if (y<0) y=-y;
return 2*(x+y);
}
int main()
{
long long x, y, ariecom, perimcom;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long minx=x1[1], maxx=x0[1], miny=y1[1], maxy=y0[1];
for (i=1; i<=3;i++)
f >> x0[i] >> y0[i] >> x1[i] >> y1[i];
for (i=1; i<=3; i++)
{
if (x1[i]<=minx) minx=x1[i];
if (x0[i]>=maxx) maxx=x0[i];
if (y1[i]<=miny) miny=y1[i];
if (y0[i]>=maxy) maxy=y0[i];
}
x=minx-maxx;
y=miny-maxy;
ariecom=x*y;
perimcom=2*(x+y);
arietot=ariecom+arie(1)+arie(2)+arie(3)-arie2(1,2)-arie2(2,3)-arie2(3,1);
perimtot=perimcom+perim(1)+perim(2)+perim(3)-perim2(1,2)-perim2(2,3)-perim2(3,1);
g<<arietot<< " "<<perimtot;
}