Търсене на най-кратък път в граф


ИМЕ НА ЗАДАЧАТА: dijkstra

ВХОДЕН ФОРМАТ:

* Ред 1: Две цели числа, разделени с интервал: N и M
  N е броят на върховете в графа (N<=100), 
  а M е броят на ребрата. Недефинираните ребра се 
  приемат с безкрайна дължина.

* Редове от 2 до M+1: 
  Всеки ред съдържа 3 параметъра: I, J и L, които описват ребро. 
  I и J са начален и краен връх за реброто, L е дължината му.

* Ред M+2: 
  Две цяли числа v0 и v1 - начало и край на търсения маршрут.


ПРИМЕРЕН ВХОД (файл dijkstra.in):

5 8
1 2 3
1 3 5
2 4 4
2 3 2
3 5 8
3 4 4
4 2 2
4 5 1
1 5


ИЗХОДЕН ФОРМАТ:

* Ред 1: Дължина на пътя от v0 до v1
* Ред 2: Маршрута изписан във вида:
  v1 <-(lk)- ik ... <-(l1)- i1 <-(l0)- v0
  където i1 ... ik са междинните върхове от маршрута,
  а l0 ... lk са дължините на свързващите ги ребра.

ПРИМЕРЕН ИЗХОД:

L=8
5 <-(1)- 4 <-(4)- 2 <-(3)- 1


Текст на алгоритъма:
(c) Skelet, 2004