小字辈 太过爱你忘了你带给我的痛 2023-05-21 07:17 91阅读 0赞 给定一个庞大家族的家谱,请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。 输出格式: 首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首尾不得有多余空格。 输入样例: 9 2 6 5 5 -1 5 6 4 7 输出样例: 4 1 9 #include<bits/stdc++.h> using namespace std; const int maxn=100010; int n,a[maxn],x,root,ans,flag; vector<int>v[maxn]; void DFS(int i,int cnt) { if(v[i].size()==0) { ans=max(ans,cnt); return; } for(int j=0;j<v[i].size();j++) { int u=v[i][j]; a[u]=cnt+1; DFS(u,cnt+1); } } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>x; if(x>0) { v[x].push_back(i); } else { root=i; } } a[root]=1; DFS(root,1); cout<<ans<<endl; for(int i=1;i<=n;i++) { if(a[i]==ans) { if(flag) { cout<<" "<<i; } else { cout<<i; flag=1; } } } }
相关 团体程序设计天梯赛-练习集 L2-026 小字辈 (25分) DFS深搜+BFS广搜的两种思路 L2-026 小字辈 (25分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正 £神魔★判官ぃ/ 2023年10月11日 15:06/ 0 赞/ 47 阅读
相关 小字辈 给定一个庞大家族的家谱,请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 太过爱你忘了你带给我的痛/ 2023年05月21日 07:17/ 0 赞/ 92 阅读
相关 PTA L2-026 小字辈 PTA L2-026 小字辈 题目 AC代码 题目 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格 Dear 丶/ 2023年02月12日 15:27/ 0 赞/ 10 阅读
相关 L2-026 小字辈 (25分)【天梯赛】 题目描述 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我 ゝ一世哀愁。/ 2023年01月06日 11:39/ 0 赞/ 222 阅读
相关 L2-026 小字辈(25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) ——简单起见,我们把家族成员从 1 柔情只为你懂/ 2022年05月23日 07:50/ 0 赞/ 205 阅读
相关 L2-026 小字辈 L2-026 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正 太过爱你忘了你带给我的痛/ 2022年03月16日 12:18/ 0 赞/ 122 阅读
相关 PTA-L2-026 小字辈 (25 分) L2-026 小字辈 (25 分) \[[L2-026 小字辈 (25 分)][L2-026 _ _25]\] 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 快来打我*/ 2022年02月27日 05:26/ 0 赞/ 254 阅读
还没有评论,来说两句吧...