pat1004

来源:互联网 发布:厦门大学网络教育报名 编辑:程序博客网 时间:2024/06/07 03:03


#include<cstdio>#include<vector>#include<cstring>#include<algorithm>using namespace std;const int maxn=105;vector<int> tree[maxn];int layer[maxn],maxly;void dfs(int node,int ly){    maxly=max(ly,maxly);    if(tree[node].size()==0) layer[ly]++;    else        for(int i=0; i<tree[node].size(); i++)        {            dfs(tree[node][i],ly+1);        }}int trans(char *str){    if(str[0]=='0')        return str[1]-'0';    else return (str[0]-'0')*10+str[1]-'0';}int main(){    int N,M,k,t;    char str[2];    while(scanf("%d%d",&N,&M)==2)    {        for(int i=0; i<M; i++)        {            scanf("%s",str);            t=trans(str);            tree[t].clear();            scanf("%d",&k);            for(int j=0; j<k; j++)            {                scanf("%s",str);                tree[t].push_back(trans(str));            }        }        memset(layer,0,sizeof(layer));        maxly=1;        dfs(1,1);        for(int i=1; i<=maxly; i++)            printf("%d%c",layer[i],i==maxly?'\n':' ');    }    return 0;}


原创粉丝点击