简略搜寻题,次要相熟python语法。
通过字典,一个父结点对应多个儿子结点,进行贮存。
代码:

mp={}mm=0#记录最大层数record=[0 for i in range(101)]def dfs(s,level):    global mm    if level>mm:        mm=level    if s not in mp:#没得儿子的        record[level]+=1        return    for i in mp[s]:        dfs(i,level+1)n,m=map(int,input().split())if n==0:    exit()for i in range(m):    s=input().split()    fa=s[0]    mp[fa]=[]    for j in s[2:]:        mp[fa].append(j)dfs("01",0)for i in range(mm):    print(record[i],end=" ")print(record[mm])