아러미아러민ㅇ라ㅓㅁ니;랑 ㅓㅁ닐 화나요
혹시 할수있으신분 계신가요 ㅠㅠㅠㅠ세시간째 붙잡고있네요
처음 size랑 profit input이 문제인거같은데..
def fractional_Knapsack(n, size, profit, K) :
if K <= 0 :
return 0
size.sort()
size.reverse()
profit.sort()
profit.reverse()
s = 0
p = 0
selected_profit = 0
for i in range(n) :
if s + size[i] <= K :
selected_profit += profit[i]
s += size [i]
else :
selected_profit += (K-s) * (p[i]/s[i])
s = K
break
return selected_profit
def Knapsack(i, T) :
if i >= n or T <=0 :
print(x)
return
x[i] = 1
B = fractional_Knapsack(n-(i+1), size[i+1:], profit[i+1:], T-size[i])
if s + size[i] <= K and (p + profit[i] + B) > MaxProfit:
if (p + profit[i]) > MaxProfit :
Kcapsack(i+1, T-size[i])
x[i] = 0
B = fractional_Knapsack(n - (i+1), size[i+1:], profit[i+1:], T)
if (p+B) > MaxProfit:
Knapsack(i+1, T)
K = int(input())
n = int(input())
size = []
size = list(map(int, input().split()))
profit = []
profit = list(map(int, input().split()))
x = [0 for i in range(n)]
MaxProfit = 0
solution = []
Knapsack(0, K)
x가 뭔데
x밖에서 선언해놓고 함수내에서 사용하려면 global해줘야 하는거 아님?