結果
問題 | No.1098 LCAs |
ユーザー |
|
提出日時 | 2023-05-17 16:54:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 521 ms / 2,000 ms |
コード長 | 668 bytes |
コンパイル時間 | 550 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 149,388 KB |
最終ジャッジ日時 | 2024-12-15 10:54:30 |
合計ジャッジ時間 | 9,937 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
n = int(input())g = [[] for _ in range(n)]for _ in range(n - 1):u, v = map(int, input().split())u -= 1v -= 1g[u].append(v)g[v].append(u)cnt = [0 for _ in range(n)]src = 0par = [None for _ in range(n)]st = [~ src, src]while len(st) > 0:cur = st.pop()if cur >= 0:for nxt in g[cur]:if nxt == par[cur]:continuepar[nxt] = curst.append(~ nxt)st.append(nxt)else:cnt[~ cur] += 1if not par[~ cur] is None:cnt[par[~ cur]] += cnt[~ cur]ans = [0 for _ in range(n)]for v in range(n):if not par[v] is None:ans[par[v]] -= cnt[v] ** 2ans[v] += cnt[v] ** 2print(*ans, sep='\n')