結果
問題 |
No.872 All Tree Path
|
ユーザー |
![]() |
提出日時 | 2020-02-04 12:53:35 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,384 ms / 3,000 ms |
コード長 | 691 bytes |
コンパイル時間 | 151 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 60,852 KB |
最終ジャッジ日時 | 2024-09-21 07:18:43 |
合計ジャッジ時間 | 13,586 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
import sys input = sys.stdin.buffer.readline from collections import deque import heapq N = int(input()) E = [[] for _ in range(N)] m = 10**3 for _ in range(N-1): u,v,w = map(int, input().split()) E[u-1].append((v-1)*m+w) E[v-1].append((u-1)*m+w) q = deque() q.append(0) used = [0]*N used[0] = 1 L = [0] while q: v = q.pop() for e in E[v]: if used[e//m]: continue used[e//m] = 1 q.append(e//m) L.append(e//m) ans = 0 num = [1]*N used = [0]*N L.reverse() for v in L: used[v] = 1 for e in E[v]: if used[e//m]: continue ans += num[v]*(N-num[v])*(e%m) num[e//m] += num[v] print(2*ans)