プログラムを作成して、グラフを(標準入力または選択したファイルから)取得し、グラフ内の最短パスを見つけます。
グラフは、次の形式を使用して指定されます。
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
すべてのエッジは無方向で、8つの基本方向のいずれかに沿って配置されます(つまり、曲がりません)。エッジには、オプションで0〜9の重みを含めることができます。重みは、エッジをノードに接続する最後のシンボルにはありません(つまり、エッジには、重みを含めるために少なくとも3つのシンボルが必要です)。重みなしエッジのデフォルトの重みは1です。
コードは、ノード間の最短経路を計算する必要がありS
そしてT
長さおよび経路を印刷し、このように:
5:SDEFT
最短の正しいプログラムが勝ちます。
はい、指定したとおりにグラフを解析する必要があります。実際のところ、それが問題のほとんどです。最短パス部分は、解析が正しいことを確認するだけです。
—
キースランドール
入力フォーマットは実際には非常に複雑であり、imhoは実際にはそれほど問題を追加しません。
—
-JPvdMerwe
ここの人々はもう少し挑戦的なことを試してみたいと思っただけです。
—
キースランドール
@SimpleCoder:モノスペースと仮定します
—
-JPvdMerwe
AS0,SD0,SE5,DE3,FE0,FT0
(各エントリは長い3バイトである場合は、カンマを省略することができます。)