結果

問題 No.1103 Directed Length Sum
ユーザー anagohirameanagohirame
提出日時 2020-07-03 22:42:20
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 616 bytes
コンパイル時間 2,027 ms
コンパイル使用メモリ 81,472 KB
実行使用メモリ 838,212 KB
最終ジャッジ日時 2023-10-17 05:45:36
合計ジャッジ時間 3,784 ms
ジャッジサーバーID
(参考情報)
judge14 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 36 ms
53,344 KB
testcase_01 AC 38 ms
53,344 KB
testcase_02 MLE -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
sys.setrecursionlimit(10**7)
def input():
	return sys.stdin.buffer.readline()[:-1]
MOD = 10**9+7

n = int(input())
aff = [0 for _ in range(n)]
adj = [[] for _ in range(n)]
for _ in range(n-1):
	u, v = map(int, input().split())
	adj[u-1].append(v-1)
	aff[v-1] += 1
for i, x in enumerate(aff):
	if x == 0:
		root = i
		break

ans = 0
dp_val = [0 for _ in range(n)]
dp_num = [1 for _ in range(n)]

ans = 0
def dfs(x):
	global ans
	for v in adj[x]:
		dfs(v)
		dp_num[x] += dp_num[v]
		dp_num[x] %= MOD
		dp_val[x] += dp_val[v] + dp_num[v]
		dp_val[x] %= MOD
	ans += dp_val[x]
	ans %= MOD

dfs(root)
print(ans)
0