Scrivi un programma per prendere un grafico (dall'input standard o da un file, a tua scelta) e trovare un percorso più breve nel grafico.
I grafici sono specificati usando il seguente formato:
A---S F--T
| / \ |
| / 5 0
|/ \|
D----3--E
A-Z: nodes in the graph
-|/\: edges in the graph
0-9: weights on the edges
<space>: all the holes
Tutti i bordi sono non orientati e giacciono lungo una delle 8 direzioni cardinali (cioè senza curve). I bordi possono opzionalmente contenere un peso compreso tra 0 e 9. Il peso non sarà sull'ultimo simbolo che collega il bordo a un nodo (vale a dire che i bordi devono contenere almeno 3 simboli per contenere un peso). I bordi non ponderati hanno un peso predefinito di 1.
Il codice dovrebbe calcolare il percorso più breve tra i nodi S
e le T
e stampare la lunghezza e il percorso, in questo modo:
5:SDEFT
Il programma corretto più breve vince.
AS0,SD0,SE5,DE3,FE0,FT0
(potresti omettere le virgole se ogni voce è lunga 3 byte.)