結果
問題 |
No.2427 Tree Distance Two
|
ユーザー |
![]() |
提出日時 | 2024-06-02 18:35:15 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 895 ms / 2,000 ms |
コード長 | 611 bytes |
コンパイル時間 | 195 ms |
コンパイル使用メモリ | 82,672 KB |
実行使用メモリ | 148,688 KB |
最終ジャッジ日時 | 2024-12-23 10:21:10 |
合計ジャッジ時間 | 16,568 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 35 |
ソースコード
N = int(input()) to = [[] for _ in range(N)] for _ in range(N-1): u, v = map(int, input().split()) to[u-1].append(v-1) to[v-1].append(u-1) p = [-2] * N stack = [0] p[0] = -1 while stack: v = stack.pop() for u in to[v]: if p[u] == -2: p[u] = v stack.append(u) n_child = [0] * N for i in range(N): n_child[i] = len(to[i]) - int(i != 0) for i in range(N): res = 0 for j in to[i]: if j == p[i]: res += n_child[j] - 1 if p[j] != -1: res += 1 else: res += n_child[j] print(res)