Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: RRjavier21 en 21 Diciembre 2018, 21:06 pm



Título: Ayuda, Camino mas corto
Publicado por: RRjavier21 en 21 Diciembre 2018, 21:06 pm
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.


Título: Re: Ayuda, Camino mas corto
Publicado por: CalgaryCorpus en 22 Diciembre 2018, 12:09 pm
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.