Hola, creo que para hacer eso te podría venir bien usar el algoritmo de dijkstra, para calcular el camino mas corto en un grafo con pesos, ya que basicamente es lo que pide el problema, las aristas que según el problema seria la distancia entre ciudades y las ciudades serian los vertices. A partir de hay tienes un grafo con pesos, le aplicas dijkstra y listo.
Un saludo
Buenos Dias a todos, espero que alguien pueda ayudarme, me encuentro en un dilema con un programa en el que dados una serie de puntos en el plano cartesiano (x,y) debo hallar la distancia punto por punto haciendo una especie de red entre puntos cubriendo todas las rutas, dejo un ejemplo de entrada y salida esperada que debe tener el programa:
input
4 -> numero de puntos que desea en el plano cartesiano puede ser >=1 y <=300
0 0 --> coordenadas x,y del primer punto
0 100 --> coordenadas x,y del segundo punto
100 0 --> coordenadas x,y del tercerpunto
50 50 --> coordenadas x,y del cuartopunto
output
412 --> distacia entre todos los puntos de la red
PD: No pido hacer el programa como tal sino entender como le digo al computador en codigo que cubra todas las rutas posibles teniendo en cuenta la formula de la distancia entre dos puntos que fue lo primero que se me ocurrio y los puntos colineales
Si no se entiende muy bien dejo el link directo del problema solo que esta en ingles:
http://acm.timus.ru/problem.aspx?space=1&num=1588