Module: Algoritmo di Ford-Bellman


Problem

2 /6


Ford Bellmann

Problem

Dato un grafico orientato che può avere più spigoli e loop. Ogni spigolo ha un peso espresso come numero intero (possibilmente negativo). È garantito che non ci sono cicli di peso negativi.
 
Devi calcolare le lunghezze dei percorsi più brevi dal vertice numero 1 a tutti gli altri vertici.
 
Input
Il programma riceve prima il numero N (1 <= N <= 100) – il numero di vertici del grafico e il numero M (0 <= M <= 10000) – numero di costole. Le righe seguenti contengono M triple di numeri che descrivono i bordi: l'inizio del bordo, la fine del bordo e il peso (il peso – è un numero intero compreso tra -100 e 100).
 
Uscita
Il programma dovrebbe produrre N numeri – distanze dal vertice numero 1 a tutti i vertici del grafico. Se non esiste un percorso per il vertice corrispondente, stampa il numero 30000 invece della lunghezza del percorso.

Esempi
# Input Uscita
1
6 4
1 2 10
2 3 10
1 3 100
4 5 -10
0 10 20 30000 30000 30000