递归查找
2025-08-16 21:02:20
发布于:浙江
12阅读
0回复
0点赞
思路很好理解,用双亲表示法存树即可,就直接上代码了(这道题是怎么配当绿题的?)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[1005];
int n,d;
inline int dfs(int id,int x)
{
if(!a[id])
{
return -1;
}
if(x==1)return a[id];
return dfs(a[id],x-1);
}
signed main()
{
cin>>n>>d;
for(int i=2;i<=n;i++)
{
int f;
cin>>f;
a[i]=f;
}
for(int i=1;i<=n;i++)
{
cout<<dfs(i,d)<<"\n";
}
return 0;
}
这里空空如也
有帮助,赞一个