样例3 394ms惊险通过,还要看一点手气,运气不好的时候通不过也说不定。
以下是代码:
nan=int(input())
chizu={}
irikuchi=[0 for i in range(nan+1)]
irikuchi[0]=1
for tobira in range(1,nan+1):
hyou=input().split()
if hyou[0]=="0":
continue
tobira=str(tobira)
chizu[tobira]=[hyou[1]]
irikuchi[int(hyou[1])]=1
for i in hyou[2:]:
chizu[tobira].append(i)
irikuchi[int(i)]=1
irikuchi=str(irikuchi.index(0))
yaru=[irikuchi]
fukasa=0
while True:
if len(yaru)==1 and (yaru[0] not in chizu):
fukasa=yaru[0]
break
fukasa+=1
atarashii=[]
for tobira in yaru:
if tobira not in chizu:
continue
atarashii.extend(chizu[tobira])
yaru=atarashii[:]
print(fukasa)