• 家谱树


    【问题描述】
        有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
        给出每个人的孩子的信息。
        输出一个序列,使得每个人的后辈都比那个人后列出。
    【输入格式】
        第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
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<stack>
     5 using namespace std;
     6 int map[101][101];
     7 stack<int>s;
     8 int rudu[101];
     9 int main()
    10 {
    11     int n;
    12     scanf("%d",&n);
    13     for(int i=1;i<=n;i++)
    14     {
    15         int a;
    16         while(scanf("%d",&a))
    17         {
    18             if(a==0)break;
    19             map[i][a]=1;
    20             rudu[a]++;
    21         }
    22     }
    23     for(int i=1;i<=n;i++)
    24     {
    25         if(rudu[i]==0)
    26         {
    27             s.push(i);
    28         }
    29     }
    30     while(s.size()!=0)
    31     {
    32         int p=s.top();
    33         s.pop();
    34         printf("%d ",p);
    35         for(int i=1;i<=n;i++)
    36         {
    37             if(map[p][i]==1)
    38             {
    39                 rudu[i]--;
    40                 if(rudu[i]==0)s.push(i);
    41             }
    42         }
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    关于feign调用请求头丢失分析
    并发下编写SQL的注意事项
    Sentinel降级规则整理
    Mybatis-Plus使用整理
    Docker各种零散命令整理
    set集合怎么保证不重复的
    idea启动项目ava heap space
    网络穿透工具--钉钉HTTP穿透
    Log4j基本使用
    ide中普通java程序打包
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6708865.html
Copyright © 2020-2023  润新知