家谱树
题目描述
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
给出每个人的孩子的信息。
输出一个序列,使得每个人的后辈都比那个人后列出。
输入
第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
这道题很迷哇…在某中学OJ上过了四个点…虽然并不知道那三个点到底是不是我的问题(啊现在知道了 在那个OJ上出结果之后晾上一会就自动变AC了(???)) 这两道题的方法还是有不少区别 对比一下 家谱树是走到哪就直接输出 奖金需要简单判断一下是否有环 将所有点分层次走一遍
#include<cstdio>
using namespace std;
int n,x=1,a[105][105],in[105],z[105],t,now,s;//a[i][0]存出度
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;