Ayuda, Camino mas corto

Iniciado por RRjavier21, 21 Diciembre 2018, 21:06 PM

0 Miembros y 1 Visitante están viendo este tema.

RRjavier21

Hola, muy buenas.
tengo un problema relacionado al camino mas corto.
Pongo el contexto del problema, un bus tiene que recoger personas de distintos puntos de la ciudad y cada punto lo conecta una calle con un costo asociado. (básicamente un grafo dirigido)

y el imput es de esta forma (por ejemplo):

5
A B 10
B C 9
A D 6
D E 4
E A 2
B E 3
-
C 2                   (Vertice de inicio del bus y la cantidad de personas que debe buscar)
D persona1       (donde se encuentra persona1)
E persona2       (donde se encuentra persona2)

Donde el primer entero son los vertices que tiene el grafo (puntos de la ciudad)
y serian las conexiones entre vertices y el costo de esta arista

Se pide que, entregado un vértice de inicio, recoger a las personas solicitadas con el mínimo coste y retornar el camino seguido.
Se que se realiza con dijkstra, y entiendo como funciona en términos de pseudocodigo, pero me resulta imposible implementar el código en C/C++.
Por ello agradecería cualquier tipo de ayuda, ya que estoy bastante perdido.
De antemano gracias.

CalgaryCorpus

Tengo la impresión que tienes que usar dijkstra 2 veces, una vez desde el origen a uno de los puntos y otra desde ese punto al otro.

No es claro que es lo que no entiendes, si el algoritmo o como hacerlo en C++.
Como cualquiera de estas 2 podría implicar una respuesta extensa, sugiero buscar antes en Google y volver aquí con una duda específica.
Aqui mi perfil en LinkedIn, invitame un cafe aqui