El ejemplo concreto es:
Me da n
pares de divisas y tipos de cambio, y tengo que cambiar de decir de dólares por euros. Y no tengo que cambiar el dinero directamente, por ejemplo, yo podría cambiar de dólares a libras esterlinas primero y, a continuación, en euros y ganar más dinero de lo que me hubiera por intercambio directo. Así que mi primera idea era dibujar el grafo completo con tipos de cambio como los pesos de las aristas y el uso de Dijkstra el algoritmo con un pequeño cambio, me multiplicar el peso, no suma. En realidad parece ser lógico: si voy por un camino y cada vez hacer multiplicaciones puedo obtener el número de unidades (en la moneda que corresponde al nodo he llegado a) me habría después de estos intercambios. Y en cada iteración de Dijkstra el algoritmo de si veo que la forma en que me cambio el dinero en este paso es mejor que la anterior para este nodo (si se visita), entonces puedo cambiar el valor. Así que cuando termino un árbol que puede fácilmente encontrar una ruta más corta entre los nodos, es decir, la forma óptima para el intercambio de dinero de una moneda a otra. Hay algo en lo que contradice esta idea?
Gracias de antemano, Saludos