Pagini recente » Cod sursa (job #96078) | Cod sursa (job #680456) | Cod sursa (job #156334) | Cod sursa (job #1126909) | Cod sursa (job #125078)
Cod sursa(job #125078)
#include<stdio.h>
#define input "inundatii.in"
#define output "inundatii.out"
#define dim 101
struct inund
{
int x, y, z;
};
inund a[dim];
int n, min;
int schimb(int i, int j);
int main()
{
FILE *in, *out;
in = fopen (input, "r");
out = fopen (output, "w");
fscanf(in, "%d", &n);
int i;
for(i=1; i<=n; i++)
fscanf(in, "%d%d%d", &a[i].x, &a[i].y, &a[i].z);
for(i=1; i<=n/2; i++)
min+=schimb(i, n-i+1);
fprintf(out, "%d", min);
return 0;
}
int schimb(int i, int j)
{
int m, cont=0;
while(1!=2)
{
m=((a[i].x-a[j].x)/2)+1;
a[i].x-=m;
a[j].x+=m;
cont+=m;
m=((a[i].y-a[j].y)/2)+1;
a[i].y-=m;
a[j].y+=m;
cont+=m;
m=((a[i].z-a[j].z)/2)+1;
a[i].z-=m;
a[j].z+=m;
cont+=m;
if(a[i].x<a[j].x && a[i].y<a[j].y && a[i].z<a[j].z)
break;
}
return cont*2;
}