当前位置:网站首页>1191. 家谱树
1191. 家谱树
2022-07-29 13:16:00 【追寻远方的人】
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
给出每个人的孩子的信息。
输出一个序列,使得每个人的孩子都比那个人后列出。
输入格式
第 1 行一个整数 n,表示家族的人数;
接下来 n 行,第 i 行描述第 i 个人的孩子;
每行最后是 0 表示描述完毕。
每个人的编号从 1到 n。
输出格式
输出一个序列,使得每个人的孩子都比那个人后列出;
数据保证一定有解,如果有多解输出任意一解。
数据范围
1≤n≤100
输入样例:
5
0
4 5 1 0
1 0
5 3 0
3 0
输出样例:
2 4 5 3 1
代码:
/* 思考:如何输出字典序最小的拓扑排序? 将队列换成优先队列,优先队列取出的元素是当前字典序最小的编号,在出队的时候记录出队的编号即为当前字典序最小的拓扑序,此方法的时间复杂度是O(logn∗(n+m)) 或者邻接矩阵 */
#include <bits/stdc++.h>
using namespace std;
const int N = 110, M = N * N / 2;
int h[N], e[M], ne[M], idx;
int n;
int q[N];
int d[N];
void add(int a, int b)
{
e[idx] = b;
ne[idx] = h[a];
h[a] = idx++;
}
void topsort()
{
int hh = 0, tt = -1;
for (int i = 1; i <= n; i++)
{
if (!d[i])
q[++tt] = i;
}
while (hh <= tt)
{
int t = q[hh++];
for (int i = h[t]; ~i; i = ne[i])
{
int j = e[i];
if (--d[j] == 0)
q[++tt] = j;
}
}
}
int main()
{
cin >> n;
memset(h, -1, sizeof h);
for (int i = 1; i <= n; i++)
{
int son;
while (cin >> son, son)
{
add(i, son);
d[son]++;
}
}
topsort();
for (int i = 0; i < n; i++)
printf("%d ", q[i]);
return 0;
}
边栏推荐
- 程序员入门的第一个程序,打印输出 “ HelloWorld “
- Sql file import database - nanny level tutorial
- conda环境创建及复制
- 新来技术总监:谁在用 isXxx 形式定义布尔类型,明天不用来了!
- 一口气说出4种主流数据库ID自增长,面试官懵了
- R Error in :missing values are not allowed in subscripted assignments of data frames
- 推荐几款2022年好用的设备管理系统(软件)
- Dataset:FIFA 2018 Statistics数据集(Predict FIFA 2018 Man of the Match预测2018年国际足联最佳球员)的简介、下载、使用方法之详细攻略
- 人脸合成效果媲美StyleGAN,而它是个自编码器
- snap软件中哨兵2A数据预处理及六种常用植被指数的计算
猜你喜欢
随机推荐
年轻人开始“反大牌”,有钱也不买
何享健“A拆A”又败一局,美的旗下美智光电终止创业板IPO
大一(下)暑假作业
Meta,元宇宙和广告双败的一季
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
「 工业缺陷检测深度学习方法」最新2022研究综述
25年来最经典的电影特效名场面
每日优鲜解散疑云:生鲜电商们苦渡生死劫
企业代码安全防护分类
Py之eli5:eli5库的简介、安装、使用方法之详细攻略
Bika LIMS 开源LIMS集—— SENAITE的使用(用户、角色、部门)
Leetcode67. 二进制求和
IJCAI 2022杰出论文公布,大陆作者中稿298篇拿下两项第一
DBeaver 安装及配置离线驱动
How to set the explosion rate of legendary humanoid?Humanoid increase tutorial
[网鼎杯 2020 半决赛]AliceWebsite
【论文阅读】Anomaly Detection in Video via Self-Supervised and Multi-Task Learning
阿里巴巴 CTO 程立:开源是基础软件的源头!
MySQL8.0学习记录21 - 视图
微信小程序的登录








![[WeChat applet] One article to solve button, input, image components](/img/a4/56df6c530c41f6cff865053f9f8f2c.png)
