题目链接

深搜过程中记录最小辈分和最小成员编号

#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <functional>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;int n, maxn;
vector<int> a[100010];
vector<int> que;//记录最小成员编号void dfs(int u, int k) {if (k > maxn) {//如果当前辈分比之前的更小maxn = k;//标记当前辈分位最小辈分que.clear();//清空之前记录的最小成员编号que.push_back(u);//压入新的最小成员编号} else if (k == maxn)//如果与当前最小辈分相等que.push_back(u);//压入最小成员编号for (int i = 0; i < a[u].size(); i++) dfs(a[u][i], k + 1);//递归下一层return;
}int main(int argc, char const *argv[]) {int flag;cin >> n;for (int i = 1; i <= n; i++) {int x;cin >> x;if (x == -1)flag = i;//记录老祖宗的编号elsea[x].push_back(i);//建立关系图}dfs(flag, 1);//深搜printf("%d\n", maxn);//输出最小辈分sort(que.begin(), que.end());//递增顺序排序for (int i = 0; i < que.size() - 1; i++) printf("%d ", que[i]);printf("%d\n", que[que.size() - 1]);return 0;
}

L2-2 小字辈 (25 分)相关推荐

  1. 【CCCC】L2-026 小字辈 (25分),求多叉树的深度和底层叶节点

    problem L2-026 小字辈 (25分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起 ...

  2. 7-5 小字辈 (25 分)

    暑假字符串专题HBU程序设计训练营总结 ?点这里 7-5 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 0 ...

  3. 7-4 小字辈 (25 分) 详解

    7-4 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 ...

  4. 7-3 小字辈 (25分)

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...

  5. 7-10 小字辈 (25分)

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...

  6. 小字辈 (25 分)

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到N编号.随后第二行给出 ...

  7. L2-026 小字辈 (25 分)(深搜详解)

    本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...

  8. 【CCCC】L2-022 重排链表 (25分),,链表遍历

    problem L2-022 重排链表 (25分) 给定一个单链表 L ​1 ​​ →L ​2 ​​ →⋯→L ​n−1 ​​ →L ​n ​​ ,请编写程序将链表重新排列为 L ​n ​​ →L ​ ...

  9. 【CCCC】L2-011 玩转二叉树 (25分),二叉树建树与遍历(我讨厌树,@L2-006)

    problem L2-011 玩转二叉树 (25分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列.所谓镜面反转,是指将所有非叶结点的左右孩子对换.这里假设 ...

最新文章

  1. 老弟,你连HTTPS 原理都不懂,还给我讲“中间人攻击”,逗我吗...
  2. js学习笔记9----时间操作
  3. AI大神李沐B站走红!连博导们都在追更,还亲自带你逐段读懂论文,网友:带B站研究生吧...
  4. redis 判断存在性_Redis如何保证接口的幂等性?
  5. 幼儿园计算机教案 妈妈的爱,幼儿园大班教案《妈妈的爱》(通用)
  6. 来,一起来实现一个符合Promise/A+的Promose(1.0.1版本)
  7. 如何打开KML/KMZ文件
  8. c语言程序设计教程实验指导吴国栋,C语言程序设计教程实验指导
  9. 入门级Unity安装教程
  10. 点击验证码时候自动刷新功能
  11. java ckfinder 图片重命名,CKEditor CKFinder图片上传
  12. c语言微信昵称大全女生,微信名字大全女生可爱
  13. STM32单片机(11) DS18B20温度传感器实验
  14. EBS INV:单位
  15. 【蓝桥杯】欧拉定理 + 欧拉数线性筛法
  16. Android 自定义apk名称
  17. tesla p4 linux驱动,Ubuntu 16.04. 装tesla p4 显卡驱动+cuda9.0+docker+nvidia-docker 详细方法,这里是服务器为主...
  18. Windows 11和Windows 2022 TLS/SSL(Schannel SSP)的加密套件
  19. 计算机ppt翻页笔,ppt翻页笔没反应?这样做就可以。
  20. 编译安装python3.6

热门文章

  1. M102: MongoDB for DBAs chapter 1 introduction学习记录
  2. 独立站社交媒体运营策略
  3. 一阶逻辑合式公式及解释
  4. YouTube视频规格
  5. iOS中 支付宝钱包详解/第三方支付
  6. (转)什么是CC攻击?CC攻击有哪些类型?
  7. 妖精的尾巴勇气之旅服务器维护,妖精的尾巴勇气之旅攻略大全 新手攻略开局发展技巧[多图]...
  8. 空间平面方程matlab求解,在Python中求解平面方程(如在Matlab中)
  9. nginx、lvs、keepalived、f5、DNS轮询(lvs为何不能完全替代DNS轮询)
  10. 过百万,小小庆祝一下