Module: algoritmo de Dijkstra


Problem

9/14

Algoritmo de Dijkstra em O(M logN) com priority_queue: Start (C++)

Problem

Você recebe um gráfico ponderado direcionado. Encontre a distância mais curta de um dado vértice para outro.
 
Entrada
A primeira linha contém três números: N, M, S e F (1≤ N≤ 100, 1≤ S, F≤ N), onde N – número de vértices do grafo, M – número de costelas,  S– vértice inicial e F – final. Nas próximas N linhas, insira N números cada, não excedendo 100, – matriz de adjacência de gráfico, onde -1 significa nenhuma aresta entre os vértices e qualquer número não negativo – a presença de uma aresta de determinado peso. Os zeros são escritos na diagonal principal da matriz.
 
Saída
É necessário exibir a distância desejada ou -1 se não houver caminho entre os vértices especificados.

Exemplos
# Entrada Saída
1 4 4 3 4
3 1 3
1 2 3
2 4 3
3 4 10
9