你的实验室中诞生了一种新的无性繁殖生物,这种生物每一个都有且仅有一个父亲(注意,其中有且仅有1号生物的父亲无法追踪到了)。为了 研究方便,你定义一个生物的1级祖先即为其父亲,而其k级祖先为k-1级祖先的父亲(k≥2)。例如,2级祖先即为父亲的父亲。现在你想知道 一些生物的若干级父亲。
区块链毕设网qklbishe.com为您提供问题的解答
你的实验室中诞生了一种新的无性繁殖生物,这种生物每一个都有且仅有一个父亲(注意,其中有且仅有1号生物的父亲无法追踪到了)。为了 研究方便,你定义一个生物的1级祖先即为其父亲,而其k级祖先为k-1级祖先的父亲(k≥2)。例如,2级祖先即为父亲的父亲。现在你想知道 一些生物的若干级父亲。
def dfs(uv, x, k):
ifx in uv:
k-=1
ifk==0:
returnuv[x]
else:
returndfs(uv, uv[x], k)
else:
return0
if__name__ =="__main__":
n, q = map(int, input().split())
fathers = [int(i)fori in input().split()]
querys = [[int(i)fori in input().split()]for_ in range(q)]
uv = {i:0fori in range(1, n+1)}
foridx, father in enumerate(fathers):
uv[idx+2] = father
forquery in querys:
x, k = query
ans = dfs(uv, x, k)
print(ans)
56:57
以上就是关于问题你的实验室中诞生了一种新的无性繁殖生物,这种生物每一个都有且仅有一个父亲(注意,其中有且仅有1号生物的父亲无法追踪到了)。为了 研究方便,你定义一个生物的1级祖先即为其父亲,而其k级祖先为k-1级祖先的父亲(k≥2)。例如,2级祖先即为父亲的父亲。现在你想知道 一些生物的若干级父亲。的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训