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
AC × 19
TLE × 1
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