結果
問題 | No.1098 LCAs |
ユーザー |
|
提出日時 | 2020-06-26 22:47:18 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 605 bytes |
コンパイル時間 | 268 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 120,500 KB |
最終ジャッジ日時 | 2024-07-04 22:48:26 |
合計ジャッジ時間 | 8,566 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 TLE * 1 -- * 7 |
ソースコード
import itertools import sys sys.setrecursionlimit(10 ** 6) int1 = lambda x: int(x) - 1 N = int(input()) T = [[] for _ in range(N)] for _ in range(N - 1): v, w = map(int1, input().split()) T[v].append(w) T[w].append(v) ans = [1] * N def rec(child, parent): if len(T[child]) <= 1 and parent >= 0: return 1 children = [] for c in T[child]: if c != parent: children.append(rec(c, child)) S = sum(children) ans[child] += 2 * S + sum(p * q for p, q in itertools.combinations(children, 2)) * 2 return S + 1 rec(0, -1) print(*ans, sep='\n')