Pagini recente » Cod sursa (job #560979) | Cod sursa (job #289664) | Cod sursa (job #2386784) | Cod sursa (job #883313) | Cod sursa (job #125592)
Cod sursa(job #125592)
#include <stdio.h>
long n, contor;
typedef struct
{
long x, y, z;
} casa;
casa v[50001];
long modul(long x)
{
if (x >= 0) return x;
else return -x;
}
int main()
{
freopen("inundatii.in","r",stdin);
freopen("inundatii.out","w",stdout);
scanf("%ld",&n);
int i, j;
casa aux1, aux2;
for (i = 1; i <= n; i++) scanf ("%ld %ld %ld",&v[i].x, &v[i].y, &v[i].z);
if (n % 2)
{
i = n / 2 - 1;
j = n / 2 + 1;
aux1.x = v[i + 1].x - 1;
aux1.y = v[i + 1].y - 1;
aux1.z = v[i + 1].z - 1;
aux2.x = aux1.x + 1;
aux2.y = aux1.y + 1;
aux2.z = aux1.z + 1;
contor += modul(aux1.x - v[j].x) + modul(aux1.y - v[j].y) + modul(aux1.z - v[j].z);
contor += modul(aux2.x - v[i].x) + modul(aux2.y - v[i].y) + modul(aux2.z - v[i].z);
v[i] = aux1;
v[j] = aux2;
i--; j++;
while (i > 0 && j <= n)
{
aux1.x = v[i + 1].x - 1;
aux1.y = v[i + 1].y - 1;
aux1.z = v[i + 1].z - 1;
aux2.x = v[j - 1].x + 1;
aux2.y = v[j - 1].y + 1;
aux2.z = v[j - 1].z + 1;
contor += modul(aux1.x - v[j].x) + modul(aux1.y - v[j].y) + modul(aux1.z - v[j].z);
contor += modul(aux2.x - v[i].x) + modul(aux2.y - v[i].y) + modul(aux2.z - v[i].z);
v[i] = aux1;
v[j] = aux2;
i--; j++;
}
}
else
{
i = n / 2;
j = n / 2 + 1;
aux1.x = v[i + 1].x - 1;
aux1.y = v[i + 1].y - 1;
aux1.z = v[i + 1].z - 1;
aux2.x = aux1.x + 1;
aux2.y = aux1.y + 1;
aux2.z = aux1.z + 1;
contor += modul(aux1.x - v[j].x) + modul(aux1.y - v[j].y) + modul(aux1.z - v[j].z);
contor += modul(aux2.x - v[i].x) + modul(aux2.y - v[i].y) + modul(aux2.z - v[i].z);
v[i] = aux1;
v[j] = aux2;
i--; j++;
while (i > 0 && j <= n)
{
aux1.x = v[i + 1].x - 1;
aux1.y = v[i + 1].y - 1;
aux1.z = v[i + 1].z - 1;
aux2.x = v[j - 1].x + 1;
aux2.y = v[j - 1].y + 1;
aux2.z = v[j - 1].z + 1;
contor += modul(aux1.x - v[j].x) + modul(aux1.y - v[j].y) + modul(aux1.z - v[j].z);
contor += modul(aux2.x - v[i].x) + modul(aux2.y - v[i].y) + modul(aux2.z - v[i].z);
v[i] = aux1;
v[j] = aux2;
i--; j++;
}
}
printf("%ld\n",contor);
return 0;
}