結果
問題 |
No.160 最短経路のうち辞書順最小
|
ユーザー |
|
提出日時 | 2015-03-02 01:18:54 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 336 bytes |
コンパイル時間 | 108 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 13,184 KB |
最終ジャッジ日時 | 2024-06-24 00:54:35 |
合計ジャッジ時間 | 45,215 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 5 WA * 21 |
コンパイルメッセージ
Syntax OK
ソースコード
def g;gets.split.map(&:to_i)end N,M,S,G=g L=(0...N).map{[1e9]*N} d=L.map{[]} N.times{|i|L[i][i]=0} M.times{ a,b,c=g L[a][b]=L[b][a]=c d[a][b]=d[b][a]=1 } N.times{|k|N.times{|i|N.times{|j|L[i][j]=[L[i][j],L[i][k]+L[k][j]].min}}} ans=[s=S] while s!=G ans<<s=(0...N).find{|i|(L[s][i]+L[i][G]==L[s][G])&&d[s][i]==1} end puts ans*" "