关注
我也后来做了下,思路应该是没什么问题,但我这个有很多重复计算。楼上的那个比我好 from collections import defaultdict
n,m,d = map(int,input().split())
spec = [int(c) for c in input().split()]
lis = [int(c) for c in input().split()]
# nei为节点邻接表
neighbor = defaultdict(list)
for i in range(n-1):
neighbor[i+2].append(lis[i])
neighbor[lis[i]].append(i+2)
def bfs(node0):
queue=[]
visited=set()
queue.append(node0)
visited.add(node0)
dis=[0 for _ in range(n+1)]
step=0
while queue:
node=queue.pop()
step+=1
for each in neighbor[node]:
if each not in visited:
queue.append(each)
visited.add(each)
dis[each]=step
#print(queue)
return dis
count=0
for i in range(1,n+1):
dis=0
for point in spec:
dis=max(bfs(point)[i],dis)
if dis<=d:
count+=1
print(count)
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
168010次浏览 2838人参与
# 找工作,行业重要还是岗位重要? #
84902次浏览 1679人参与
# 你面试体验感最差/最好的公司 #
14200次浏览 229人参与
# 一人说一个提前实习的好处 #
8768次浏览 182人参与
# 今年你最想重开的一场面试是? #
2981次浏览 56人参与
# 秋招落幕,你是He or Be #
8274次浏览 175人参与
# 重来一次,你会对开始求职的自己说 #
5377次浏览 135人参与
# 实习没事做是福还是祸? #
14243次浏览 220人参与
# 职场上哪些行为很加分? #
305752次浏览 3440人参与
# 大家每天通勤多久? #
68749次浏览 434人参与
# 团建是“福利”还是是 “渡劫” #
6366次浏览 141人参与
# 你小心翼翼的闯过多大的祸? #
10390次浏览 149人参与
# 比亚迪工作体验 #
73773次浏览 279人参与
# 大厂VS公务员你怎么选 #
74002次浏览 679人参与
# 工作中听到最受打击的一句话 #
4998次浏览 91人参与
# 大家实习每天都在干啥 #
106278次浏览 574人参与
# 如何排解工作中的焦虑 #
247660次浏览 2284人参与
# 长城汽车工作体验 #
12909次浏览 16人参与
# 机械人避雷的岗位/公司 #
38598次浏览 261人参与
# 秋招结束之后的日子 #
114145次浏览 1052人参与
滴滴公司福利 1784人发布