
pacman
(usa Ubuntu)
Enviado em 08/06/2006 - 21:11h
#include <stdio.h>
#define NUMCITY 100
/* distancia[x][y] = dist. entre a cidade x e y
posicao[0] primeira cidade
posicao[1] proxima cidade
distancia entre as duas cidades
distancia[posicao[0]][posicao[1]]
*/
int distancia(int d[NUMCITY][NUMCITY], int*p, int cities){
int i,total=0;
for(i=1;i<cities;i++){
total += d[p[i-1]][p[i]];
}
return total;
}
/* nesse exemplo todas as cidades tem distancia 1 umas das outras e eu visitei a cidade 0 até a 31 andando uma por uma */
int main(){
int i,j;
int distancias[NUMCITY][NUMCITY];
int posicao[31];
for(i=0;i<NUMCITY;i++)
for(j=0;j<NUMCITY;j++)
distancias[i][j]= (i==j)? 0 : 1;
for(i=0;i<31;i++)
posicao[i]=i;
printf("A distancia do percurso eh %d\n",distancia(distancias,posicao,31));
return 0;
}