La Odissea de Renfe

Ets professor a l'IES Sabadell. Cada matí alguns alumnes arriben tard i al·leguen que ha estat per culpa dels trens.
Cada alumne viu en una ciutat diferent i utilitza la xarxa de trens per arribar a Sabadell.
Un tren connecta dues ciutats reals i té associat un temps de recorregut en minuts. Algunes línies han desaparegut i no es poden fer servir.
L'objectiu és determinar si l'alumne podia arribar a temps o si el retard és culpa del tren.
Regles
- Totes les línies són bidireccionals.
- Es permeten transbordaments il·limitats.
- No hi ha temps d'espera entre transbordaments.
- El temps total del viatge és la suma dels temps de les línies utilitzades.
- Si no existeix cap camí fins a Sabadell, el retard és culpa del tren.
- Si l'alumne arriba exactament a l'hora límit, no es considera tard.
- Les ciutats que tinguin espais com "Sant Quirze" s'escriuran amb un _.
- No hi ha casos que comencin ja des de Sabadell.
Entrada
La primera línia indica \(N\) casos de prova.
Per cada cas de prova:
- La primera línia indica el nom de la ciutat d'origen de l'alumne.
- La segona línia indica l'hora de sortida (HH:MM).
- La tercera línia indica l'hora límit d'arribada (HH:MM).
- La quarta línia indica el nombre de connexions de tren \(L\).
Tot seguit apareixen \(L\) línies amb les dades següents separades per espais:
- Nom de la línia
- Ciutat A
- Ciutat B
- Temps del recorregut en minuts
Finalment, una línia amb el nombre de línies desaparegudes \(D\), seguida d'una línia amb \(D\) noms de línies que no funcionen.
Sortida
Per cada cas de prova s'ha de mostrar una única línia segons correspongui:
- No connection — Si no existeix cap camí possible fins a Sabadell a causa de les línies desaparegudes.
- Student fault — Si existeix un camí, però l'alumne arriba més tard de l'hora límit.
- Arrived : <hora_arribada> <trens_utilitzats> — Si l'alumne arriba a temps o just a l'hora límit. L'hora d'arribada s'ha de mostrar en format HH:MM. Els trens utilitzats s'han de mostrar en ordre, separats per -> (Exemple: C1->C3->C2).
Exemple d'Entrada 1
3
Terrassa
07:00
08:00
3
C1 Terrassa Sabadell 40
C2 Terrassa Can_Parellada 15
C3 Can_Parellada Sabadell 35
1
C1
Manresa
07:00
08:00
2
C1 Manresa Terrassa 30
C2 Terrassa Sabadell 20
1
C1
Terrassa
07:50
08:00
3
C1 Terrassa Sabadell 40
C2 Terrassa Can_Parellada 15
C3 Can_Parellada Sabadell 35
0
Exemple de Sortida 1
Arrived : 07:50 C2->C3
No connection
Student fault
Comentaris