简略搜寻题,次要相熟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])