1 solutions
-
0
import sys sys.setrecursionlimit(10**6) class Node: def __init__(self): self.meifangwen = True self.the_list = list() def fun(jiedian, shendu): global ans global k if shendu <= k: ans += 1 jiedian.meifangwen = False shiyezi = True for xiayijiedian in jiedian.the_list: if xiayijiedian.meifangwen: shiyezi = False fun(xiayijiedian, shendu+1) if shiyezi and k > shendu: ans += (k - shendu) n, k = list(map(int, input().split())) dictionary = {i: Node() for i in range(1, n+1)} for _ in range(1, n): u, v = list(map(int, input().split())) dictionary[u].the_list.append(dictionary[v]) dictionary[v].the_list.append(dictionary[u]) ans = 0 fun(dictionary[1], 0) print(ans)
题目最大的难点在于Python有递归深度的限制
- 1
Information
- ID
- 61
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 320
- Accepted
- 25
- Uploaded By