結果
| 問題 | No.1103 Directed Length Sum | 
| コンテスト | |
| ユーザー |  tyawanmusi | 
| 提出日時 | 2020-07-03 22:09:23 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2,024 ms / 3,000 ms | 
| コード長 | 390 bytes | 
| コンパイル時間 | 207 ms | 
| コンパイル使用メモリ | 81,748 KB | 
| 実行使用メモリ | 347,016 KB | 
| 最終ジャッジ日時 | 2024-09-17 02:24:47 | 
| 合計ジャッジ時間 | 19,594 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 22 | 
ソースコード
n=int(input())
edge=[[]for _ in range(n)]
to=[0]*n
p=[0]*n
for _ in range(n-1):
  a,b=map(int,input().split())
  a-=1
  b-=1
  edge[a].append(b)
  to[b]+=1
stack=[to.index(0)]
visited=set(stack)
mod=10**9+7
for i in stack:
  for j in edge[i]:
    if j in visited:continue
    visited.add(j)
    to[j]-=1
    if to[j]==0:stack.append(j)
    p[j]+=p[i]+1
print(sum(i*(i+1)//2 for i in p)%mod)
            
            
            
        