from math import lcm
n = int(input())
G = [[]] * n
for i in range(n):
ls = list(map(int, input().split()))
G[i] = ls[1:]
walizy = [0] * n
walizy[0] = 1
for i in range(n):
if walizy[i] == 0 or len(G[i]) == 0:
continue
ile = lcm(walizy[i], len(G[i])) // walizy[i]
for j in range(n):
walizy[j] *= ile
for x in G[i]:
walizy[x - 1] += walizy[i] // len(G[i])
print(walizy[0])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from math import lcm n = int(input()) G = [[]] * n for i in range(n): ls = list(map(int, input().split())) G[i] = ls[1:] walizy = [0] * n walizy[0] = 1 for i in range(n): if walizy[i] == 0 or len(G[i]) == 0: continue ile = lcm(walizy[i], len(G[i])) // walizy[i] for j in range(n): walizy[j] *= ile for x in G[i]: walizy[x - 1] += walizy[i] // len(G[i]) print(walizy[0]) |
English