結果
問題 |
No.1473 おでぶなおばけさん
|
ユーザー |
|
提出日時 | 2021-10-31 08:55:30 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 573 bytes |
コンパイル時間 | 228 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 45,184 KB |
最終ジャッジ日時 | 2024-10-08 08:48:08 |
合計ジャッジ時間 | 6,733 ms |
ジャッジサーバーID (参考情報) |
judge3 / 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.length > 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] end } end puts "#{w[n-1][0]} #{w[n-1][1]}"