π’ μμ
1. λ¬Έμ λ§ν¬
2. μ½λ
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"""
[2056] μμ
π λ¬Έμ
μνν΄μΌ ν μμ
Nκ° (3 β€ N β€ 10000)κ° μλ€.
κ°κ°μ μμ
λ§λ€ 걸리λ μκ°(1 β€ μκ° β€ 100)μ΄ μ μλ‘ μ£Όμ΄μ§λ€.
λͺλͺ μμ
λ€ μ¬μ΄μλ μ ν κ΄κ³λΌλ κ² μμ΄μ,
μ΄λ€ μμ
μ μννκΈ° μν΄ λ°λμ λ¨Όμ μλ£λμ΄μΌ ν μμ
λ€μ΄ μλ€.
μ΄ μμ
λ€μ λ²νΈκ° μμ£Ό μμκ² λ§€κ²¨μ Έ μμ΄μ,
Kλ² μμ
μ λν΄ μ ν κ΄κ³μ μλ(μ¦, Kλ² μμ
μ μμνκΈ° μ μ λ°λμ λ¨Όμ μλ£λμ΄μΌ νλ)
μμ
λ€μ λ²νΈλ λͺ¨λ 1 μ΄μ (K-1) μ΄νμ΄λ€.
μμ
λ€ μ€μλ, κ·Έκ²μ λν΄ μ ν κ΄κ³μ μλ μμ
μ΄ νλλ μλ μμ
μ΄ λ°λμ νλ μ΄μ μ‘΄μ¬νλ€.
(1λ² μμ
μ΄ νμ κ·Έλ¬νλ€)
λͺ¨λ μμ
μ μλ£νκΈ° μν΄ νμν μ΅μ μκ°μ ꡬνμ¬λΌ.
λ¬Όλ‘ , μλ‘ μ ν κ΄κ³κ° μλ μμ
λ€μ λμμ μν κ°λ₯νλ€.
π μ
λ ₯
첫째 μ€μ Nμ΄ μ£Όμ΄μ§λ€.
λ λ²μ§Έ μ€λΆν° N+1λ²μ§Έ μ€κΉμ§ Nκ°μ μ€μ΄ μ£Όμ΄μ§λ€.
2λ²μ§Έ μ€μ 1λ² μμ
, 3λ²μ§Έ μ€μ 2λ² μμ
, ..., N+1λ²μ§Έ μ€μ Nλ² μμ
μ κ°κ° λνλΈλ€.
κ° μ€μ μ²μμλ, ν΄λΉ μμ
μ 걸리λ μκ°μ΄ λ¨Όμ μ£Όμ΄μ§κ³ ,
λ€μμ κ·Έ μμ
μ λν΄ μ ν κ΄κ³μ μλ μμ
λ€μ κ°μ(0 β€ κ°μ β€ 100)κ° μ£Όμ΄μ§λ€.
κ·Έλ¦¬κ³ μ ν κ΄κ³μ μλ μμ
λ€μ λ²νΈκ° μ£Όμ΄μ§λ€.
π μΆλ ₯
첫째 μ€μ λͺ¨λ μμ
μ μλ£νκΈ° μν μ΅μ μκ°μ μΆλ ₯νλ€.
"""
n = int(input())
# ν΄λΉ λ
Έλμμ 걸리λ μκ°
times = [0] * (n+1)
graph = {}
for i in range(1, n+1):
works = list(map(int, input().split()))
times[i] = works[0]
if works[1] == 0:
continue
for j in works[2:]:
if i in graph:
graph[i].append(j)
else:
graph[i] = [j]
for i in range(1, n+1):
if i in graph:
time = 0
for j in graph[i]:
# ν΄λΉ μμ
μ νμν μ ν μμ
λ€μ max μκ°μ λνλ€
time = max(time, times[j])
times[i] += time
print(max(times))
3. ν΄μ€
- ν΄λΉ λ Έλμμ μννλ μ΅μ’ μκ°μ λ³μμ λ£λλ€
- λͺ¨λ μμ μ λλ©΄μ λ¨Όμ ν΄μΌν μμ λ€μ λΉμ©μ μ΅λκ°μ λμ ν΄μ ꡬνλ€
This post is licensed under CC BY 4.0 by the author.