結果
問題 |
No.160 最短経路のうち辞書順最小
|
ユーザー |
|
提出日時 | 2015-03-02 00:27:08 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,031 bytes |
コンパイル時間 | 50 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 22,684 KB |
最終ジャッジ日時 | 2024-06-24 00:52:30 |
合計ジャッジ時間 | 27,242 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 2 WA * 5 TLE * 1 -- * 18 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M, S, G = gets.split.map(&:to_i) INF=99999 ma = Array.new(N).map{Array.new(N,INF)} ro = Array.new(N).map{Array.new(N,[INF])} (0...M).each{|m| a, b, c = gets.split.map(&:to_i) ma[a][b]=c ro[a][b]=[a] ma[b][a]=c ro[b][a]=[b] } (0...N).each{|i| (0...N).each{|j| (0...N).each{|k| =begin if i==5 && j==6 then puts puts "ma[#{i}][#{j}]=#{ma[i][j]}, ro[#{i}][#{j}]=#{ro[i][j].join(' ')}" puts "ma[#{i}][#{k}]=#{ma[i][k]}, ro[#{i}][#{k}]=#{ro[i][k].join(' ')}" puts "ma[#{k}][#{j}]=#{ma[k][j]}, ro[#{k}][#{j}]=#{ro[k][j].join(' ')}" end =end if (ma[i][k] + ma[k][j] < ma[i][j]) || (ma[i][j]==ma[i][k] + ma[k][j] && (ro[i][k]+ro[k][j]).join("")<ro[i][j].join("")) then ma[i][j] = ma[i][k]+ma[k][j] ro[i][j] = ro[i][k]+ro[k][j] end } } } puts ro[S][G].join(" ") + " " + G.to_s