結果
問題 |
No.277 根掘り葉掘り
|
ユーザー |
![]() |
提出日時 | 2015-09-08 22:58:08 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 494 bytes |
コンパイル時間 | 42 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 17,280 KB |
最終ジャッジ日時 | 2024-07-19 05:00:49 |
合計ジャッジ時間 | 5,408 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 5 WA * 13 |
コンパイルメッセージ
Syntax OK
ソースコード
# Here your code ! INF = 10 ** 8 n = gets.to_i parent = Array.new(n+1,1) depth = Array.new(n+1,0) foot = Array.new(n+1,INF) leaf = Array.new(n+1,true) (n - 1).times do from, to = gets.split.map(&:to_i) parent[to] = from depth[to] = depth[from] + 1 leaf[from] = false end (1..n).select {|v| leaf[v]}.each do |i| d = depth[i] d.times.inject(i) do |j, dep| foot[j] = [foot[j], dep].min parent[j] end end puts (1..n).map {|i| [depth[i], foot[i]].min }