Module: L'algoritmo di Floyd


Problem

1/10

Floyd: L'inizio (C++)

Theory Click to read/hide

Error

Problem

Dato un grafo orientato ai cui archi sono assegnati dei pesi (lunghezze) non negativi. Trova la lunghezza del cammino minimo dal vertice s al vertice t.
 
Input
La prima riga contiene tre numeri: il numero di vertici nel grafo N ≤50, i numeri di vertici s e t. Poi viene la matrice di adiacenza del grafico, cioè N righe, ognuna delle quali contiene N numeri. Il numero j-esimo nella riga i-esima della matrice di adiacenza specifica la lunghezza del bordo che va dall'i-esimo vertice al j-esimo. Le lunghezze possono assumere qualsiasi valore da 0 a 1000000, il numero -1 significa che non esiste un bordo corrispondente. È garantito che ci siano zeri sulla diagonale principale della matrice.
 
Uscita
Stampa un singolo numero – lunghezza minima del percorso. Se il percorso non esiste, print -1.

Esempi
# Input Uscita
1
3 1 2
0 -1 3
7 0 1
2 215 0
218