Ответ:
def build(name):
if name in built:
pass
elif B[A.index(name)] == ["0"]:
built.append(name)
else:
for i in B[A.index(name)][1:]:
if i not in built:
build(i)
built.append(name)
A = []
B = []
built = []
for i in range(0, n):
A.append(input())
B.append(input().split())
[build(str(o)) for o in x]
print(len(built))
Объяснение:
Тоже решаю НТИ
Ответ:
n, m, t = map(int, input().split())
x = list(map(int, input().split()))
def build(name):
if name in built:
pass
elif B[A.index(name)] == ["0"]:
built.append(name)
else:
for i in B[A.index(name)][1:]:
if i not in built:
build(i)
built.append(name)
A = []
B = []
built = []
for i in range(0, n):
A.append(input())
B.append(input().split())
for i in range(0, B.count([])):
built.append(A[B.index([])])
A.pop(B.index([]))
B.pop(B.index([]))
[build(str(o)) for o in x]
print(len(built))
Объяснение:
htt ps://pastebin. com/cNBHaZJM
Спасибо, Warhammer 2000