7-41 小字辈 (25 分)
题目链接
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。
输入格式:
输入在第一行给出家族人口总数 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 分)相关推荐
- 【CCCC】L2-026 小字辈 (25分),求多叉树的深度和底层叶节点
problem L2-026 小字辈 (25分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起 ...
- 7-5 小字辈 (25 分)
暑假字符串专题HBU程序设计训练营总结 ?点这里 7-5 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 0 ...
- 7-4 小字辈 (25 分) 详解
7-4 小字辈 (25 分) 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 ...
- 7-3 小字辈 (25分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...
- 7-10 小字辈 (25分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...
- 小字辈 (25 分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到N编号.随后第二行给出 ...
- L2-026 小字辈 (25 分)(深搜详解)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) -- 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...
- L2-2 小字辈 (25 分)
题目链接 深搜过程中记录最小辈分和最小成员编号 #include <algorithm> #include <bitset> #include <cmath> #i ...
- 1121 Damn Single (25 分)
1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...
- [PTA]L2-001 紧急救援 (25 分)
L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...
最新文章
- ffmpeg-20160526-git-bin
- Python 输出格式符号
- TDOA定位的Chan算法MATLAB源代码
- Linux运行级详解
- Spring Boot中@ConfigurationProperties与@PropertySource的基本使用(读取指定的properties文件)
- CCF202109-2 非零段划分(100分)【序列处理】
- 树的孩子链表表示法可执行代码(创建,层次遍历)
- rar linux下载64位下载地址,Linux中下载WinRAR并使用它解压rar文件
- 智驾小车|如何给树莓派系统接入摄像头模块
- 大功率LED的热功率计算_51CAE_新浪博客
- 一区HR:南京农业大学房婉萍教授团队揭示茶树-豆科植物互作改善茶叶品质
- 简单三步解除Word文档保护密码(转)
- 微信小程序:数独挑战之九宫格-中级-第一题解题思路
- 小猫爪:S32K3学习笔记21-S32K3之SAF及其应用
- mysqlcp30下载最新jar包_三星S20FE刷机包(系统升级刷机最新官方固件包下载)
- COMET彗星(一)SERVER PUSH介绍
- SD卡误删了照片怎么恢复?照片恢复教程分享
- 291计算机毕业设计
- 网站知识基础+网站搭建方法
- 基于PHP+MySQL二手书交易系统