๋์ ์ฝ๋
def DFS(L,score,kcal):
global res
if kcal > k:
return
if score > res:
res = score
if L == n:
return
s,c = arr[L]
DFS(L+1,score+s, kcal+c)
DFS(L+1,score,kcal)
T = int(input())
for t in range(1,T+1):
n,k = map(int,input().split())
arr = []
res = 0
for _ in range(n):
a,b = map(int,input().split())
arr.append((a,b))
DFS(0,0,0)
print("#"+str(t) , res )
DFS ๋ฅผ ์ด์ฉํ ํ์ด
ํ๋ฒ๊ฑฐ ์ฌ๋ฃ์(n), ๋์ง ๋ง์์ผ ํ๋ ์นผ๋ก๋ฆฌ์(k)์ ์ ๋ ฅ๋ฐ๊ณ
๋ฆฌ์คํธ๋ฅผ ์์ฑํ๊ณ ๋ง๊ณผ ์นผ๋ก๋ฆฌ๋ฅผ ์ ์ฅํ ํ
์นผ๋ก๋ฆฌ๊ฐ ๋์ด๊ฐ๋ฉด ํ์์ ์ํX
๊ธฐ์กด์ ์ ์ฅ๋ ์ต๋ ๋ง๋ณด๋ค ํฌ๋ฉด ๊ฐฑ์
๋ฆฌ์คํธ๋ฅผ ๋ค๋๋ฉด return
์ฌ๋ฃ๋ฅผ ์ผ์ ๋, ์ ์ผ์ ๋ ๋ฅผ ๊ฐ๊ฐ ํ์
'Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA - D3] 1954. ๋ฌํฝ์ด ์ซ์ (0) | 2023.05.16 |
---|---|
[SWEA - D3] ๋ฌธ์ ํ์ด (0) | 2023.05.11 |
[SWEA - D3] 5431. ๋ฏผ์์ด์ ๊ณผ์ ์ฒดํฌํ๊ธฐ (0) | 2023.05.09 |
[SWEA - D3] 2805. ๋์๋ฌผ ์ํํ๊ธฐ (0) | 2023.05.09 |
[SWEA - D3] 1209. Sum (0) | 2023.05.08 |