結果
問題 |
No.872 All Tree Path
|
ユーザー |
|
提出日時 | 2021-12-05 14:32:07 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,457 ms / 3,000 ms |
コード長 | 716 bytes |
コンパイル時間 | 74 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 64,128 KB |
最終ジャッジ日時 | 2024-07-07 07:50:35 |
合計ジャッジ時間 | 14,356 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
N = int(input()) u = [0] * (N-1) v = [0] * (N-1) w = [0] * (N-1) for i in range(N-1): u[i],v[i],w[i] = list(map(int,input().split())) tree = [[] for _ in range(N+1)] for i in range(N-1): tree[u[i]].append(v[i]) tree[v[i]].append(u[i]) ko = [0] * (N+1) q = [] q.append((1,0)) while len(q): now,parent = q.pop() if ko[now] == 0: ko[now] = 1 q.append((now,parent)) for i in tree[now]: if i != parent: q.append((i,now)) else: for i in tree[now]: if i != parent: ko[now] += ko[i] s = 0 for i in range(N-1): m = min(ko[u[i]],ko[v[i]]) M = N - m s += m * M * w[i] print(s * 2)