Considereu un país amb ciutats i carreteres bidireccionals, cadascuna amb una certa longitud. Un polític que viu a la ciutat està de campanya electoral, i haurà de visitar el país en cotxe. Però cada vegada que arribi a una ciutat, encara que sigui de passada, el polític haurà de baixar del cotxe, somriure, encaixar mans, fer petons a nens petits, prometre apujar les pensions dels avis, …, quina mandra! Així que el polític vol saber, per a cada ciutat , com anar des de fins a fent el mínim nombre de parades. En cas d’empat, vol minimitzar la longitud total del trajecte. El podeu ajudar?
L’entrada consisteix en diversos casos. Cada cas comença amb i , seguides d’ triplets descrivint una carretera entre i de longitud , amb . Cada cas acaba amb . Suposeu , , que les ciutats es numeren a partir de 0, que no hi ha més d’una carretera entre dues ciutats, i que les longituds són nombres naturals entre 1 i .
Per a cada cas, i per a cada ciutat , escriviu el nombre de parades i la longitud total per anar des de fins a . Si no es pot arribar a , indiqueu-ho. Escriviu una línia amb 10 guions al final de cada cas.
El Jutge pot acceptar solucions amb una variant de l’algorisme de Dijkstra, però la solució esperada té una complexitat millor. Qui usi Dijkstra obtindrà una nota màxima de 7.
Input
4 3 0 1 10 1 3 20 0 3 50 0 5 6 4 1 100 1 0 900 0 3 600 3 4 200 1 2 300 3 2 300 4
Output
0: 0 0 1: 1 10 2: no 3: 1 50 ---------- 0: 2 800 1: 1 100 2: 2 400 3: 1 200 4: 0 0 ----------