class Solution:
def dfs(self, cur, visit, dp, graph):
for next in graph[cur]:
if visit[next] == False:
visit[next] = True
dp[cur] += self.dfs(next, visit, dp, graph)
return dp[cur]
def minimumFuelCost(self, roads: List[List[int]], seats: int) -> int:
n = len(roads) + 1
graph = [[] for _ in range(n)]
visit = [False for _ in range(n)]
dp = [1 for _ in range(n)]
for l, r in roads:
graph[l].append(r)
graph[r].append(l)
visit[0] = True
self.dfs(0, visit, dp, graph)
return sum([(x + seats - 1) // seats for x in dp[1:]])
열심히 엄청 길게 풀었는데 알고 보니 내가 문제를 잘못 이해했었음
다시 짜야했다 ㅜㅜ 그냥 평범한 트리 dp였네
댓글 0