Submission #24450734
Source Code Expand
import sys
from functools import lru_cache
sys.setrecursionlimit(10**5)
@lru_cache(maxsize=None)
def solve(i, black=True, parent=-1):
global children, mod
if children[i] == [parent]:
return 1
result = 1
for j in children[i]:
if j == parent:
continue
c = solve(j, False, i) # white
if not black:
c += solve(j, True, i) # black
result *= c
result %= mod
return result
def main(f):
global children, mod
mod = 10**9 + 7
N = int(f.readline())
children = [[] for _ in range(N+1)]
for _ in range(N-1):
x, y = list(map(int, f.readline().split()))
children[y].append(x)
children[x].append(y)
print((solve(1, True) + solve(1, False)) % mod)
main(sys.stdin)
Submission Info
| Submission Time | |
|---|---|
| Task | P - Independent Set |
| User | enakai |
| Language | PyPy3 (7.3.0) |
| Score | 0 |
| Code Size | 756 Byte |
| Status | TLE |
| Exec Time | 2239 ms |
| Memory | 1109420 KiB |
Judge Result
| Set Name | All | ||||
|---|---|---|---|---|---|
| Score / Max Score | 0 / 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 | 73 ms | 66340 KiB |
| 0_01 | AC | 59 ms | 66316 KiB |
| 0_02 | AC | 59 ms | 66272 KiB |
| 0_03 | AC | 61 ms | 66012 KiB |
| 1_00 | AC | 60 ms | 66012 KiB |
| 1_01 | AC | 1261 ms | 348472 KiB |
| 1_02 | AC | 306 ms | 137640 KiB |
| 1_03 | AC | 302 ms | 140328 KiB |
| 1_04 | AC | 318 ms | 138960 KiB |
| 1_05 | AC | 403 ms | 160332 KiB |
| 1_06 | AC | 348 ms | 134812 KiB |
| 1_07 | AC | 402 ms | 157808 KiB |
| 1_08 | AC | 420 ms | 159404 KiB |
| 1_09 | AC | 454 ms | 153820 KiB |
| 1_10 | AC | 424 ms | 160680 KiB |
| 1_11 | AC | 366 ms | 149080 KiB |
| 1_12 | AC | 368 ms | 151204 KiB |
| 1_13 | AC | 439 ms | 160868 KiB |
| 1_14 | AC | 558 ms | 205672 KiB |
| 1_15 | TLE | 2239 ms | 1109420 KiB |