小红拿到了一棵有根树,根节点为 1 号节点,其中每个节点有一个二进制数字’0’或者’1’。 现在小红定义为:从号节点出发,到某节点停止的路径所对应的二进制数为奇数的路径数量。请你求出的值。 我们定义路径是只能向孩子出发的,不能往祖先方向走。
区块链毕设网qklbishe.com为您提供问题的解答
小红拿到了一棵有根树,根节点为 1 号节点,其中每个节点有一个二进制数字’0’或者’1’。
现在小红定义为:从
号节点出发,到某节点停止的路径所对应的二进制数为奇数的路径数量。请你求出
的值。
我们定义路径是只能向孩子出发的,不能往祖先方向走。
from collections import defaultdict n = int(input()) data_list = list(map(int, input())) adj = defaultdict(list) in_degree = [0] * n for _ in range(n - 1): u, v = map(int, input().split()) adj[v - 1].append(u - 1) in_degree[u - 1] += 1 cnt_list = [0] * n queue = [] for i in range(n): if in_degree[i] == 0: queue.append(i) while len(queue) > 0: tmp_len = len(queue) for i in range(tmp_len): tmp_idx = queue[i] for v in adj[tmp_idx]: cnt_list[v] += cnt_list[tmp_idx] + (data_list[tmp_idx] == 1) in_degree[v] -= 1 if in_degree[v] == 0: queue.append(v) queue = queue[tmp_len:] for cnt in cnt_list: print(cnt)
35:11
以上就是关于问题小红拿到了一棵有根树,根节点为 1 号节点,其中每个节点有一个二进制数字’0’或者’1’。
现在小红定义为:从号节点出发,到某节点停止的路径所对应的二进制数为奇数的路径数量。请你求出的值。
我们定义路径是只能向孩子出发的,不能往祖先方向走。的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训