728x90
반응형
간단한 브루트포스 알고리즘 or 다이나믹 프로그래밍 문제이다.
브루트포스 알고리즘 풀이
a, b, c, n = map(int, input().split())
res = 0
for i in range(0, n+1, a):
for j in range(0, n-i+1, b):
for k in range(0, n-i-j+1, c):
if i+j+k == n:
res = 1
print(res)
다이나믹 프로그래밍 풀이
a, b, c, n = map(int, input().split())
li = [a, b, c]
dp = [0]*(n+1)
dp[0] = 1
for i in range(1, n+1):
for t in li:
if i-t >= 0 and dp[i-t]:
dp[i] = 1
print(dp[n])
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 20493번 세상은 하나의 손수건(python) (0) | 2021.03.21 |
---|---|
백준 알고리즘 15654번 N과 M (5)(python) (0) | 2021.03.21 |
백준 알고리즘 2156번 포도주 시식(python) (0) | 2021.03.21 |
백준 알고리즘 12852번 1로 만들기 2(python) (0) | 2021.03.20 |
백준 알고리즘 15652번 N과 M (4)(python) (0) | 2021.03.20 |