
Fase final
Exercici 2
Estacions de ferrocarril
En una comarca hi ha un conjunt de n estacions de ferrocarril que anomenarem per simplificar: 1,2,....,n. Entre aquestes estacions hi ha trams de via que connecten estacions contigües. Els trams de via es poden fer servir en tots dos sentits.
Posarem un exemple:
Imaginem que hi ha 12 estacions: 1,2,3,4,5,6,7,8,9,10,11 i 12 que estan comunicades pels següents trams:
1-2 , 2-3 , 3-9 , 3-10 , 4-6 , 5-6 , 5-7 , 6-8 , 6-10 , 9-12 , 10-11 , 11-12.
Podem fer un esquema d’aquesta infrastructura ferroviària:

Escriviu un programa que, llegit el nombre d’estacions i els trams que les uneixen, ens permeti determinar el trajecte més curt (en nombre d’estacions) que hi ha entre dos estacions determinades. Per exemple, amb la infrastructura anterior, per anar de l’estació 2 a l’estació 12 podem fer el trajecte: 2 3 10 11 12 ó 2 3 9 12. El primer trajecte té quatre trams mentre que el segon només en té tres. El programa trobaria aquest segon trajecte.
El fitxer d’entrada s’anomenarà tren.in i serà un fitxer de text amb les següents dades:
El fitxer de sortida s’anomenarà tren.out i contindrà el trajecte més curt o, en cas que hi hagi més d’un de la mateixa mida, un qualsevol d’aquests trajectes. Les estacions del trajecte apareixeran totes en la mateixa línia i separades per un espai. Començarà per l’estació origen i acabarà per l’estació de destí. Si no és possible la comunicació entre dos estacions, el fitxer de sortida contindrà només un 0.
Exemple:
| fitxer d’entrada | fitxer de sortida |
|
12 12 1 2 2 3 3 9 3 10 4 6 5 6 5 7 6 8 6 10 9 12 10 11 11 12 2 12 |
2 3 9 12 |