Submission #3978830


Source Code Expand

import sys
from collections import deque

readline = sys.stdin.readline

N, M = map(int, readline().split())
G = [[] for i in range(N)]
for i in range(N-1):
    x, y = map(int, readline().split())
    G[x-1].append((y-1, 2*i))
    G[y-1].append((x-1, 2*i+1))

G0 = [None]*N
V = [(0, -1)]
used = [0]*N
used[0] = 1
que = deque([0])
while que:
    v = que.popleft()
    g = []
    for e in G[v]:
        w, d = e
        if used[w]:
            continue
        g.append(e)
        V.append(e)
        used[w] = 1
        que.append(w)
    G0[v] = g

memo = [0]*(2*N+1)
for v, e in reversed(V):
    r = 1
    for w, d in G0[v]:
        r = r * (1 + memo[d]) % M
    memo[e] = r

lv = [0]*(2*N); rv = [0]*(2*N)
for v, e in V:
    s = 1 + memo[e ^ 1]
    for w, d in G0[v]:
        lv[d] = s
        s = s * (1 + memo[d]) % M
    s = 1
    for w, d in reversed(G0[v]):
        rv[d] = s
        s = s * (1 + memo[d]) % M
    for w, d in G0[v]:
        memo[d ^ 1] = lv[d] * rv[d] % M

ans = []
for v in range(N):
    r = 1
    for w, d in G[v]:
        r = r * (1 + memo[d]) % M
    ans.append("%d\n" % r)
sys.stdout.writelines(ans)

Submission Info

Submission Time
Task V - Subtree
User yaketake08
Language PyPy3 (2.4.0)
Score 100
Code Size 1183 Byte
Status AC
Exec Time 799 ms
Memory 94316 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 36
Set Name Test Cases
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
Case Name Status Exec Time Memory
0_00 AC 170 ms 38384 KiB
0_01 AC 175 ms 38256 KiB
0_02 AC 178 ms 38384 KiB
0_03 AC 173 ms 38256 KiB
1_00 AC 172 ms 38256 KiB
1_01 AC 169 ms 38256 KiB
1_02 AC 646 ms 86064 KiB
1_03 AC 682 ms 90288 KiB
1_04 AC 547 ms 84692 KiB
1_05 AC 570 ms 89300 KiB
1_06 AC 581 ms 86704 KiB
1_07 AC 624 ms 89684 KiB
1_08 AC 590 ms 85076 KiB
1_09 AC 597 ms 88880 KiB
1_10 AC 649 ms 88276 KiB
1_11 AC 635 ms 92372 KiB
1_12 AC 677 ms 88368 KiB
1_13 AC 705 ms 91604 KiB
1_14 AC 673 ms 87584 KiB
1_15 AC 709 ms 92064 KiB
1_16 AC 700 ms 87712 KiB
1_17 AC 740 ms 93600 KiB
1_18 AC 748 ms 88096 KiB
1_19 AC 754 ms 92208 KiB
1_20 AC 719 ms 86100 KiB
1_21 AC 748 ms 93012 KiB
1_22 AC 740 ms 88368 KiB
1_23 AC 733 ms 91424 KiB
1_24 AC 799 ms 88608 KiB
1_25 AC 775 ms 91952 KiB
1_26 AC 737 ms 89648 KiB
1_27 AC 759 ms 91604 KiB
1_28 AC 731 ms 89648 KiB
1_29 AC 725 ms 94316 KiB
1_30 AC 689 ms 88736 KiB
1_31 AC 745 ms 92884 KiB