Submission #3973996
Source Code Expand
from collections import deque
MOD = 10**9 + 7
N = int(input())
G = [[] for i in range(N)]
G0 = [[] for i in range(N)]
for i in range(N-1):
x, y = map(int, input().split())
G[x-1].append(y-1)
G[y-1].append(x-1)
I = []
que = deque([0])
used = [0]*N; used[0] = 1
while que:
v = que.popleft()
gv = G0[v]
I.append(v)
for w in G[v]:
if used[w]:
continue
gv.append(w)
used[w] = 1
que.append(w)
dp = [None for i in range(N)]
for v in reversed(I):
r0 = r1 = 1
for w in G0[v]:
a, b = dp[w]
r0 = (r0 * (a + b)) % MOD
r1 = (r1 * a) % MOD
dp[v] = (r0, r1)
print(sum(dp[0]) % MOD)
Submission Info
| Submission Time | |
|---|---|
| Task | P - Independent Set |
| User | yaketake08 |
| Language | PyPy3 (2.4.0) |
| Score | 100 |
| Code Size | 710 Byte |
| Status | AC |
| Exec Time | 822 ms |
| Memory | 78896 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 171 ms | 38384 KiB |
| 0_01 | AC | 171 ms | 38256 KiB |
| 0_02 | AC | 176 ms | 38256 KiB |
| 0_03 | AC | 177 ms | 38256 KiB |
| 1_00 | AC | 171 ms | 38256 KiB |
| 1_01 | AC | 822 ms | 78896 KiB |
| 1_02 | AC | 710 ms | 78128 KiB |
| 1_03 | AC | 670 ms | 78128 KiB |
| 1_04 | AC | 724 ms | 77684 KiB |
| 1_05 | AC | 734 ms | 78384 KiB |
| 1_06 | AC | 718 ms | 76720 KiB |
| 1_07 | AC | 789 ms | 75696 KiB |
| 1_08 | AC | 810 ms | 76592 KiB |
| 1_09 | AC | 789 ms | 76336 KiB |
| 1_10 | AC | 785 ms | 76464 KiB |
| 1_11 | AC | 778 ms | 75952 KiB |
| 1_12 | AC | 737 ms | 75900 KiB |
| 1_13 | AC | 755 ms | 76976 KiB |
| 1_14 | AC | 784 ms | 77104 KiB |
| 1_15 | AC | 806 ms | 77872 KiB |