Schreiben Sie ein Programm, um ein Diagramm (entweder aus der Standardeingabe oder aus einer Datei Ihrer Wahl) zu erstellen und einen kürzesten Pfad im Diagramm zu finden.
Diagramme werden im folgenden Format angegeben:
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
Alle Kanten sind ungerichtet und liegen in einer der 8 Hauptrichtungen (dh keine Biegungen). Kanten können optional eine Gewichtung von 0 bis 9 enthalten. Die Gewichtung befindet sich nicht auf dem letzten Symbol, das die Kante mit einem Knoten verbindet (dh Kanten müssen mindestens 3 Symbole enthalten, um eine Gewichtung zu enthalten). Nicht gewichtete Kanten haben eine Standardgewichtung von 1.
Der Code sollte den kürzesten Weg zwischen den Knoten berechnen S
und T
und drucken Sie die Länge und den Weg, wie folgt aus :
5:SDEFT
Kürzeste richtige Sendung gewinnt.
quelle
AS0,SD0,SE5,DE3,FE0,FT0
(Sie können die Kommas weglassen, wenn jeder Eintrag 3 Byte lang ist.)Antworten:
Hier ist mein Code, 494 Zeichen in Python:
quelle