k, n1 = map(int, input().split())
n = [0] * (k + 1)
n[1] = n1
a = [None] * (k + 1)
for i in range(2, k + 1):
line = list(map(int, input().split()))
n[i] = line[0]
a[i] = line[1:]
w = [None] * (k + 1)
w[k] = [1] * n[k]
ans = n[k]
for i in range(k - 1, 1 - 1, -1):
w[i] = [0] * n[i]
for child_idx in range(n[i + 1]):
parent = a[i + 1][child_idx]
if parent > 0:
w[i][parent - 1] += w[i + 1][child_idx]
for j in range(n[i]):
if w[i][j] == 0:
w[i][j] = 1
day_sum = sum(w[i])
ans = max(ans, day_sum)
print(ans)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | k, n1 = map(int, input().split()) n = [0] * (k + 1) n[1] = n1 a = [None] * (k + 1) for i in range(2, k + 1): line = list(map(int, input().split())) n[i] = line[0] a[i] = line[1:] w = [None] * (k + 1) w[k] = [1] * n[k] ans = n[k] for i in range(k - 1, 1 - 1, -1): w[i] = [0] * n[i] for child_idx in range(n[i + 1]): parent = a[i + 1][child_idx] if parent > 0: w[i][parent - 1] += w[i + 1][child_idx] for j in range(n[i]): if w[i][j] == 0: w[i][j] = 1 day_sum = sum(w[i]) ans = max(ans, day_sum) print(ans) |
English