提出 #61433470
ソースコード 拡げる
import sys
sys.setrecursionlimit(2*10**5)
N,M = map(int, input().split())
edge = [[] for i in range(N)]
for i in range(N-1):
a,b = map(int, input().split())
a-=1;b-=1
edge[a].append(b)
edge[b].append(a)
dp0 = [1] * N
def dfs(now,par):
res = 1
for _next in edge[now]:
if _next == par:
continue
dfs(_next,now)
res *= (dp0[_next]+1) % M
res %= M
dp0[now] = res
dfs(0,-1)
ans_l = [1] * N
#exit()
def dfs2(now,par,val):
l = []
ans = 1
for _next in edge[now]:
if _next == par:
l.append((val+1)%M)
ans *= val+1
ans %= M
else:
l.append((dp0[_next]+1)%M)
accu_l,accu_r = [1],[1]
for node in l:
accu_l.append(accu_l[-1]*node%M)
for node in l[::-1]:
accu_r.append(accu_r[-1]*node%M)
ans_l[now] = accu_l[-1]
for id,_next in enumerate(edge[now]):
if _next == par:
continue
else:
dfs2(_next,now,accu_l[id]*accu_r[-(id+2)]%M)
dfs2(0,-1,1)
for i in ans_l:
print(i)
dfs2(0,-1,1)
提出情報
| 提出日時 | |
|---|---|
| 問題 | V - Subtree |
| ユーザ | N_noa21 |
| 言語 | Python (CPython 3.11.4) |
| 得点 | 100 |
| コード長 | 1165 Byte |
| 結果 | AC |
| 実行時間 | 1116 ms |
| メモリ | 103548 KiB |
ジャッジ結果
| セット名 | All | ||
|---|---|---|---|
| 得点 / 配点 | 100 / 100 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21, 1_22, 1_23, 1_24, 1_25, 1_26, 1_27, 1_28, 1_29, 1_30, 1_31 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00 | AC | 10 ms | 8832 KiB |
| 0_01 | AC | 10 ms | 8784 KiB |
| 0_02 | AC | 10 ms | 8912 KiB |
| 0_03 | AC | 10 ms | 8784 KiB |
| 1_00 | AC | 10 ms | 8996 KiB |
| 1_01 | AC | 10 ms | 8820 KiB |
| 1_02 | AC | 1060 ms | 74632 KiB |
| 1_03 | AC | 1116 ms | 86676 KiB |
| 1_04 | AC | 453 ms | 31048 KiB |
| 1_05 | AC | 527 ms | 40096 KiB |
| 1_06 | AC | 486 ms | 30488 KiB |
| 1_07 | AC | 544 ms | 39912 KiB |
| 1_08 | AC | 500 ms | 29348 KiB |
| 1_09 | AC | 573 ms | 35704 KiB |
| 1_10 | AC | 503 ms | 28204 KiB |
| 1_11 | AC | 557 ms | 32040 KiB |
| 1_12 | AC | 504 ms | 28024 KiB |
| 1_13 | AC | 574 ms | 30972 KiB |
| 1_14 | AC | 549 ms | 27872 KiB |
| 1_15 | AC | 631 ms | 30988 KiB |
| 1_16 | AC | 521 ms | 27116 KiB |
| 1_17 | AC | 600 ms | 30788 KiB |
| 1_18 | AC | 585 ms | 27256 KiB |
| 1_19 | AC | 649 ms | 30432 KiB |
| 1_20 | AC | 582 ms | 27224 KiB |
| 1_21 | AC | 618 ms | 30716 KiB |
| 1_22 | AC | 573 ms | 27368 KiB |
| 1_23 | AC | 632 ms | 30900 KiB |
| 1_24 | AC | 586 ms | 27480 KiB |
| 1_25 | AC | 659 ms | 31488 KiB |
| 1_26 | AC | 609 ms | 31552 KiB |
| 1_27 | AC | 668 ms | 33600 KiB |
| 1_28 | AC | 709 ms | 47704 KiB |
| 1_29 | AC | 816 ms | 48336 KiB |
| 1_30 | AC | 945 ms | 61392 KiB |
| 1_31 | AC | 1111 ms | 103548 KiB |