1351:【例4-12】家谱树
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 2201 通过数: 1594
【题目描述】
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
给出每个人的孩子的信息。
输出一个序列,使得每个人的后辈都比那个人后列出。
【输入】
第1行一个整数N(1≤N≤100),表示家族的人数;
接下来N行,第I行描述第I个人的儿子;
每行最后是0表示描述完毕。
【输出】
输出一个序列,使得每个人的后辈都比那个人后列出;
如果有多解输出任意一解。
【输入样例】
5
0
4 5 1 0
1 0
5 3 0
3 0
【输出样例】
2 4 5 3 1
思路:使用拓扑排序算法
#include<cstdio>
#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
using namespace std;
vector<int> p[1005];
int indege[1500