• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

조합처럼 풀어봤는데요

20.05.26 14:21 작성 조회수 133

1

조합에서 배운대로 풀어봤는데 혹시 강의에서 나온코드랑 비교했을 때 이 코드의 단점이 있을까요?

def dfs(s, tot, time):
    global grade
    if time > m:
        return
    if tot > grade:
       grade = tot
    for i in range(s, n):
        dfs(i+1, tot+ques[i][0], time+ques[i][1])



n, m = map(int, input().split())
ques = []
for _ in range(n):
    a, b = map(int, input().split())
    ques.append((a, b))
grade = 0
dfs(0, 0, 0)
print(grade)

답변 1

답변을 작성해보세요.

0

잘하신 코드입니다. DFS를 잘 이해하고 있는 것 같습니다.