結果
問題 | No.1565 Union |
ユーザー |
|
提出日時 | 2021-11-15 10:35:46 |
言語 | Ruby (3.4.1) |
結果 |
MLE
|
実行時間 | - |
コード長 | 515 bytes |
コンパイル時間 | 43 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 602,496 KB |
最終ジャッジ日時 | 2024-12-14 08:20:43 |
合計ジャッジ時間 | 65,649 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 3 TLE * 5 MLE * 19 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M = gets.split(" ").map{|s| s.to_i}cost = Array.new(N) {Array.new(N, Float::INFINITY)}M.times {a, b = gets.split(" ").map{|s| s.to_i}cost[a-1][b-1] = cost[b-1][a-1] = 1}d = Array.new(N, Float::INFINITY)used = Array.new(N, false)d[0] = 0loop {v = -10.upto(N-1) {|u|v = u if not used[u] and (v == -1 or d[u] < d[v])}break if v == -1used[v] = true0.upto(N-1) {|u|if d[u] > d[v] + cost[v][u] thend[u] = d[v] + cost[v][u]end}}puts d[N-1] == Float::INFINITY ? -1 : d[N-1]