結果
問題 |
No.1098 LCAs
|
ユーザー |
![]() |
提出日時 | 2020-07-01 16:57:26 |
言語 | Crystal (1.14.0) |
結果 |
AC
|
実行時間 | 280 ms / 2,000 ms |
コード長 | 554 bytes |
コンパイル時間 | 11,662 ms |
コンパイル使用メモリ | 295,584 KB |
実行使用メモリ | 46,468 KB |
最終ジャッジ日時 | 2024-06-30 20:25:11 |
合計ジャッジ時間 | 15,771 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
class Solve def initialize @n = Int32.new read_line.to_i @g = Array(Array(Int32)).new(@n) { [] of Int32 } @n.pred.times do v, w = read_line.split.map &.to_i.pred @g[v] << w @g[w] << v end @ans = Array(Int64).new(@n, 0i64) dfs(0, -1) puts @ans.join('\n') end def dfs(v : Int32, par : Int32) child, bottom = 1i64, 0i64 @g[v].select { |i| par != i }.each { |u| r = dfs(u, v) child += r bottom += r**2 } @ans[v] = child**2 - bottom return child end end Solve.new