题目链接
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。

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

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

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

输出样例:
4
1 9

题解:裸的广搜

#include<iostream>
#include<cstdio>
#include<set>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
int n,t,mx,f,lzz,bfe[100005];
vector <int> vec[100005];
void bfs(int id){bfe[id] = mx = 1;queue <int> Q;Q.push(id);while(!Q.empty()){int fnt = Q.front();Q.pop();for(int i = 0;i < vec[fnt].size();i++){bfe[vec[fnt][i]] = bfe[fnt] + 1;mx = max(mx,bfe[vec[fnt][i]]);Q.push(vec[fnt][i]);}}return;
}
int main(){ scanf("%d",&n);for(int i = 1;i <= n;i++){scanf("%d",&t);if(t == -1){lzz = i;}else{vec[t].push_back(i);}       }bfs(lzz);f = 0;cout << mx << endl;for(int i = 1;i <= n;i++){if(bfe[i] == mx){if(f == 0){printf("%d",i);f = 1;}else{printf(" %d",i);}}}cout << endl;return 0;
}

7-41 小字辈 (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. L2-2 小字辈 (25 分)

    题目链接 深搜过程中记录最小辈分和最小成员编号 #include <algorithm> #include <bitset> #include <cmath> #i ...

  9. 1121 Damn Single (25 分)

    1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...

  10. [PTA]L2-001 紧急救援 (25 分)

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

最新文章

  1. ffmpeg-20160526-git-bin
  2. Python 输出格式符号
  3. TDOA定位的Chan算法MATLAB源代码
  4. Linux运行级详解
  5. Spring Boot中@ConfigurationProperties与@PropertySource的基本使用(读取指定的properties文件)
  6. CCF202109-2 非零段划分(100分)【序列处理】
  7. 树的孩子链表表示法可执行代码(创建,层次遍历)
  8. rar linux下载64位下载地址,Linux中下载WinRAR并使用它解压rar文件
  9. 智驾小车|如何给树莓派系统接入摄像头模块
  10. 大功率LED的热功率计算_51CAE_新浪博客
  11. 一区HR:南京农业大学房婉萍教授团队揭示茶树-豆科植物互作改善茶叶品质
  12. 简单三步解除Word文档保护密码(转)
  13. 微信小程序:数独挑战之九宫格-中级-第一题解题思路
  14. 小猫爪:S32K3学习笔记21-S32K3之SAF及其应用
  15. mysqlcp30下载最新jar包_三星S20FE刷机包(系统升级刷机最新官方固件包下载)
  16. COMET彗星(一)SERVER PUSH介绍
  17. SD卡误删了照片怎么恢复?照片恢复教程分享
  18. 291计算机毕业设计
  19. 网站知识基础+网站搭建方法
  20. 基于PHP+MySQL二手书交易系统

热门文章

  1. AB报,开创网上免费看原版报纸的新模式!
  2. Tecnomatix Plant Simulation 14 学习之路(一)
  3. 独立站社交媒体运营策略
  4. 文献阅读《Squeezing Backbone Feature Distributions to the Max for Efficient Few-Shot Learning》
  5. android删除历史定位,android - 从历史记录中删除活动
  6. 代码随想录训练营day31
  7. SpringBoot配置druid连接池
  8. 31家互联网地图服务甲级测绘资质单位
  9. RFID标签基本常识
  10. 16款国内外数据治理工具对比