• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

휴가 DFS 문제 질문

23.01.07 22:02 작성 조회수 287

0

def DFS(L, sum):
    global res
    if L == n+1:
        if res < sum:
            res = sum
    else:
        # 상담을 한다고 했을떄 L번쨰 상담을 한다고 했을떄
        if L + T[L] <= n+1:
            DFS(T[L]+L, sum + P[L])
            DFS(L+1, sum)


if __name__ == "__main__":
    n = int(input())
    T = list()
    P = list()
    for i in range(n):
        a, b = map(int, input().split())
        T.append(a)
        P.append(b)
    res = -2147000000
    T.insert(0, 0)
    P.insert(0, 0)
    DFS(1, 0)
    print(res)

제가 구현할떄 else 문에 if L + T[L] <= n+1: 이라는 코드를 작성하지 않아도 정상적으로 코드가 실행했습니다. 이 if 문 같은 경우에는 위의 else 문에서 다 해결해주는 부분이 아닌가 싶어서 저는 작성하지 않았습니다. 혹시 if L != n+1 하고 if L + T[L] <= n+1: 하고 다른게 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요^^

if L + T[L] <= n+1: 을 하지 않은 본인 코드를 보여주세요. 질문이 이해가 가지 않습니다.