zoukankan      html  css  js  c++  java
  • 家谱树

    【题目描述】
    有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。
    给出每个人的孩子的信息。
    输入一个序列,使得每个人的后辈都比那个人后列出。

    【输入】
    第一行一个整数(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<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 int n;
     7 int main(){
     8     ios::sync_with_stdio(false);
     9     cin>>n;
    10     int r[101]={0},c[101]={0},a[101][101]={0};
    11     int tot=0,ans[101]={0},m=0,t;
    12     int i,j;
    13     for(i=1;i<=n;i++){
    14        cin>>j;
    15        while(j!=0){
    16         c[i]++;
    17         a[i][c[i]]=j;
    18         r[j]++;
    19         cin>>j;
    20         }
    21     }
    22     for(i=1;i<=n;i++) if(r[i]==0)ans[++tot]=i;
    23     while(m!=n){
    24         t=ans[tot];
    25         cout<<t<<' ';
    26         tot--;
    27         m++;
    28         for(i=1;i<=c[t];i++){
    29             r[a[t][i]]--;
    30             if(r[a[t][i]]==0)
    31             ans[++tot]=a[t][i];
    32         }
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    如何保持页脚始终在页面底部
    CSS自适应宽度圆角按钮
    ACM1004
    java输出格式
    北大ACM1001题Exponentiation(求高精度幂)
    深入理解sizeof
    java之类BigDecimal
    ACM1003
    ACM1005
    C的输出格式printf
  • 原文地址:https://www.cnblogs.com/Emine/p/7608886.html
Copyright © 2011-2022 走看看