結果

問題 No.1601 With Animals into Institute
ユーザー 小野寺健
提出日時 2021-11-16 15:39:14
言語 Ruby
(3.4.1)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 574 bytes
コンパイル時間 35 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 75,008 KB
最終ジャッジ日時 2024-12-17 15:23:18
合計ジャッジ時間 45,102 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26 TLE * 10
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N, M = gets.split(" ").map{|s| s.to_i}

cost = Array.new(N) {Array.new}

M.times {
	a, b, c, x = gets.split(" ").map{|s| s.to_i}
	cost[a-1] << [b-1, c, x]
	cost[b-1] << [a-1, c, x]
}

d = Array.new(N) {Array.new(2, Float::INFINITY)}

d[N-1][0] = 0

q = [[N-1, 0]]

while q.length > 0 do
	v, x = q.shift
	cost[v].each {|nv, c, nx|
		if nx == 0 then
			if d[nv][x] > d[v][x] + c then
				d[nv][x] = d[v][x] + c
				q << [nv, x]
			end
		else
			if d[nv][nx] > d[v][x] + c then
				d[nv][nx] = d[v][x] + c
				q << [nv, nx]
			end
		end
	}
end

0.upto(N-2) {|i|
	puts d[i][1]
}
0