problem

L2-026 小字辈 (25分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。

输入格式:
输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。

输出格式:
首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首尾不得有多余空格。

输入样例:
9
2 6 5 5 -1 5 6 4 7
输出样例:
4
1 9

solution

  • 题意:给出一棵树,求深度和叶节点个数
  • 直接存下来跑一遍dfs就行了,存多叉树用vector,输入给的是i节点的父节点,反向存一下就好
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100010;int Hei;
vector<int>Yezi;vector<int>G[maxn];
void dfs1(int u, int h){Hei = max(Hei, h);for(int i = 0; i < G[u].size(); i++){dfs1(G[u][i], h+1);}
}
void dfs2(int u, int h){if(h==Hei){Yezi.push_back(u);}for(int i = 0; i < G[u].size(); i++){dfs2(G[u][i], h+1);}
}int main(){int n;  cin>>n;for(int i = 1; i <= n; i++){int x;  cin>>x;if(x!=-1)G[x].push_back(i);else G[0].push_back(i);}dfs1(0,0);dfs2(0,0);cout<<Hei<<endl;cout<<Yezi[0];for(int i = 1; i < Yezi.size(); i++)cout<<" "<<Yezi[i];return 0;
}

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

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

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

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

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

  3. 【CCCC】L2-031 深入虎穴 (25分),,求多叉树最深的节点编号,大水题!!!

    problem L2-031 深入虎穴 (25分) 著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一 ...

  4. 【CCCC】L2-025 分而治之 (25分),图的度数,使节点独立的方案

    problem L2-025 分而治之 (25分) 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若 ...

  5. 【CCCC】L2-003 月饼 (25分),贪心

    problem L2-003 月饼 (25分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大 ...

  6. 【CCCC】L2-001 紧急救援 (25分),,Dijkstra标准模板(多路径,最大点权和路径打印)

    problem L2-001 紧急救援 (25分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两 ...

  7. 【CCCC】L2-024 部落 (25分),,并查集,模板水题,统计集合个数

    problem L2-024 部落 (25分) 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多 ...

  8. 【CCCC】L2-017 人以群分 (25分),,模拟水题

    problem L2-017 人以群分 (25分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向 ...

  9. 【CCCC】L2-009 抢红包 (25分),,间接排序,比较double大小

    problem L2-009 抢红包 (25分) 没有人没抢过红包吧-- 这里给出N个人之间互相发红包.抢红包的记录,请你统计一下他们抢红包的收获. 输入格式: 输入第一行给出一个正整数N(≤10 ​ ...

最新文章

  1. mysql报错代码10051_socket error 10061/11004/10053/10051等错误总结
  2. JavaScript获取样式值的几种方法学习总结
  3. Zuul Gateway 网关
  4. SpringMVC _Controller认识(1)
  5. python分割字符串输出_python字符串分割
  6. python 如何判断excel单元格为空_如何用python处理excel(二)
  7. 把函数包起来就是一个R包 - 完整开发指南
  8. 2小时c++与ros教学
  9. 电子开发网---一个硬件很好的网站
  10. freemarker 解析对象的某元素_Freemarker常用技巧(三)
  11. Vim 经常使用快捷键及键盘图
  12. error: 'EOF' was not declared in this scope的解决办法
  13. Linux设备驱动-模块加载过程
  14. 通用单目标跟踪综述《Handcrafted and Deep Trackers: A Review of Recent Object Tracking Approaches》
  15. C语言编写一个计算字符串长度的函数 my_strlen();
  16. Android 旋转木马轮播,ReactJs写旋转木马轮播图
  17. [转]批处理详细教程
  18. 虚拟机几种联网的方式,如何共享主机IP
  19. ffmpeg生成的视频与QuickTime不兼容
  20. DGUT新学期,新FLAG

热门文章

  1. 面向对象特性、使用面向对象编程的场合
  2. Python 数据结构与算法——从某个列表中找出两个彼此最接近但不相等的数
  3. 矫情的C++——不明确行为(undefined behavior)
  4. 变形 圆形_板换角孔变形计圆形变身流线形
  5. 哪种css实现方式优势更突出_css和div的优势有哪些?
  6. python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...
  7. python处理excel的优势-用Python读写Excel文件的方式比较
  8. 从零开始学习python编程-Python3.5从零开始学 PDF 下载
  9. python一般的基础代码-Python中的变量,一切代码的基础,你掌握了吗
  10. 联想乐云记事2.0高调发布 新增智能语音识别 [多平台]