本文主要是介绍2166. 子树的大小及深度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码
#include<bits/stdc++.h>
using namespace std;
vector<int> a[110];
int d[110],s[110];
int dfs(int x,int y)
{int i;s[x]=1;d[x]=d[y]+1;for(i=0;i<a[x].size();i++)if(a[x][i]!=y)s[x]=s[x]+dfs(a[x][i],x);return s[x];
}
int main()
{int n,x,y,i;cin>>n;for(i=1;i<=n-1;i++){cin>>x>>y;a[x].push_back(y);a[y].push_back(x);}dfs(1,0);for(i=1;i<=n;i++)cout<<s[i]<<' '<<d[i]<<endl;return 0;
}
记得点赞+关注+收藏!!!谢谢!!!
这篇关于2166. 子树的大小及深度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!