4개중 3개 맞춘 코드
'''
배낭에 담을 수 있는 총 무게 = k
창고에 n개의 물건, 각 물건에 무게 v 가치 c
배낭이 수용하는 부피 k
가치 최대
물건 못 쪼갬
'''
def bitFun(x):
global sum_v
sum_v = 0
sum_w = 0
for i in range(n):
if x & 0x1: #
# print(arr[i][0], end=' ')
sum_w += arr[i][0]
sum_v += arr[i][1]
x >>= 1
return sum_w
# print()
t = int(input())
for tc in range(1,t+1):
n,k = map(int,input().split()) # 개수 부피
arr = [list(map(int,input().split())) for _ in range(n)] # 무게, 가치
bit = [0] * n
sum_v = 0
v_list = []
for i in arr:
v = i[0]
c = i[1]
for j in range(1<<n):
if bitFun(j) <= k:
v_list.append(sum_v)
print(f'#{tc} {max(v_list)}')
실수 한 점
풀이 중 30을 k로 바꾸지 않았음
for j in range(1<<n):
if bitFun(j) <= k:
v_list.append(sum_v)
'알고리즘 문제풀이' 카테고리의 다른 글
백준 10157. 자리배정 Python 실버4 (2) | 2024.02.29 |
---|---|
Swea D3. 화물 도크 Python 활동선택문제 (0) | 2024.02.28 |
Swea D3_ 베이비진 게임 Python 그리디 (0) | 2024.02.28 |
Swea D3. 컨테이너 운반 Python 그리드 (0) | 2024.02.28 |
백준 2839. 설탕 배달 Python 실버 4 그리디 (0) | 2024.02.28 |