結果
| 問題 | No.872 All Tree Path | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2019-08-30 01:20:49 | 
| 言語 | Python2 (2.7.18) | 
| 結果 | 
                                RE
                                 
                             | 
| 実行時間 | - | 
| コード長 | 616 bytes | 
| コンパイル時間 | 335 ms | 
| コンパイル使用メモリ | 7,040 KB | 
| 実行使用メモリ | 6,824 KB | 
| 最終ジャッジ日時 | 2024-11-17 20:50:58 | 
| 合計ジャッジ時間 | 1,412 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | RE * 2 | 
| other | RE * 18 | 
ソースコード
import queue
N = int(input())
edge = [[] for i in range(N)]
size = [1 for i in range(N)]
parent = [[-1,-1] for i in range(N)]
for i in xrange(N-1):
    u,v,w = map(int,input().split())
    u-=1
    v-=1
    edge[u].append([v,w])
    edge[v].append([u,w])
q = queue.Queue()
s = queue.LifoQueue()
parent[0] = [0,0]
q.put(0)
while q.qsize() > 0:
    f = q.get()
    for t,w in edge[f]:
        if parent[t][0] == -1:
            parent[t] = [f,w]
            q.put(t)
    s.put(f)
ans = 0
while s.qsize() > 0:
    f = s.get()
    size[parent[f][0]] += size[f]
    ans += size[f]*(N-size[f])*parent[f][1]*2
print(ans)
            
            
            
        