본문 바로가기
백준

백준 16493 최대 페이지 수

by 콩순이냉장고 2023. 12. 13.

문제 URL : https://www.acmicpc.net/problem/16493

 

16493번: 최대 페이지 수

첫째 줄에 N(1 ≤ N ≤ 200)과 챕터의 수 M(1 ≤ M ≤ 20)이 주어진다. 둘째 줄부터 각 챕터 당 읽는데 소요되는 일 수와 페이지 수가 주어진다. 소요되는 일 수는 20보다 작거나 같은 자연수이고, 페이

www.acmicpc.net

문제 접근법 : 

할수 요소일 수에서 가장 많은 페이지를 보는게 이득입니다.

 

m 이20이라 재귀로 전수조사해도 2^20이라 100만 으로 충분히가능하고

재귀 + 메모이제이션 은 더빠르게 가능하고

 

어차피 배낭문제로 반복문으로 해결하는게 가장 빠르게 가능합니다.

 

소스코드 : 

import sys
input = sys.stdin.readline
n,m = map(int,input().rstrip().split())
l = [list(map(int,input().rstrip().rsplit())) for i in range(m)]
dp = [0]*(n+1)
for i in range(m):
    for j in range(n,-1,-1):
        if j-l[i][0]>=0:
            dp[j]=max(dp[j],dp[j-l[i][0]]+l[i][1])
print(dp[n])

 

궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.

'백준' 카테고리의 다른 글

백준 1943 동전분배  (0) 2023.12.14
백준 18427 함께 블록 쌓기  (0) 2023.12.13
백준 17845 수강 과목  (0) 2023.12.12
백준 20303 할로윈의 양아치  (0) 2023.12.12
백준 14728 벼락치기  (0) 2023.12.11