結果
問題 |
No.1473 おでぶなおばけさん
|
ユーザー |
|
提出日時 | 2021-10-31 09:57:19 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 583 bytes |
コンパイル時間 | 244 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 47,396 KB |
最終ジャッジ日時 | 2024-10-08 11:23:13 |
合計ジャッジ時間 | 35,846 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 41 TLE * 1 -- * 5 |
コンパイルメッセージ
Syntax OK
ソースコード
n, m = gets.split(" ").map{|s| s.to_i} w = Array.new(n) {Array.new(2, -Float::INFINITY)} 0.upto(n-1) {|i| w[i][1] = Float::INFINITY } w[0][0] = Float::INFINITY v = Array.new(n) {Array.new} m.times { s, t, d = gets.split(" ").map{|s| s.to_i} v[s-1] << [t-1, d] v[t-1] << [s-1, d] } que = [[0, Float::INFINITY, 0]] while que.size > 0 do cv, cd, ci = que.shift v[cv].each {|nv, nd| nd = cd if cd < nd if nd > w[nv][0] or (nd == w[nv][0] and ci+1 < w[nv][1]) then w[nv] = [nd, ci+1] que << [nv, nd, ci+1] if nv != n-1 end } end puts "#{w[n-1][0]} #{w[n-1][1]}"