Recherche du chemin minimal dans un graphe avec poids variables
Go
Hard
maps
Tâche «Recherche du chemin minimal dans un graphe avec poids variables»
Soit un graphe non orienté pondéré de N sommets et M arêtes. Les poids des arêtes peuvent varier dans le temps : pour chaque arête, un poids initial et un tableau de modifications (instant et nouvelle valeur) sont donnés. Il faut trouver le chemin minimal du sommet 1 au sommet N à l’instant T. Le chemin peut passer par n’importe quel sommet, mais les poids des arêtes sont pris à l’instant T. Si le chemin n’existe pas, afficher -1.
Format d\ entrée
Première ligne : N M T (1 ≤ N ≤ 1000, 1 ≤ M ≤ 10000, 0 ≤ T ≤ 10^9). Ensuite M lignes : u v w0 k (1 ≤ u,v ≤ N, 1 ≤ w0 ≤ 1000, 0 ≤ k ≤ 100) — arête, poids initial, nombre de modifications. Puis k lignes : ti wi (0 ≤ ti ≤ T, 1 ≤ wi ≤ 1000) — instant et nouveau poids. Les modifications sont triées par ti.
Format de sortie
Un seul entier — la somme minimale des poids des arêtes sur le chemin de 1 à N à l’instant T, ou -1.
Exemples
Exemple 1
ENTRÉE
2 1 0
1 2 10 1
0 5
SORTIE
5
main.go