взглядом, вот не могу найти ошибку
# n = int(input())
# w = int(input())
# p = map(int,input().split())
def f4(n, weight, p):
array = [[0] * (weight + 1) for _ in range(n)]
stone = [[[]] * (weight + 1) for _ in range(n)]
for i in range(n):
for w in range(1, weight + 1):
if w < p[i]:
array[i][w] = array[i - 1][w]
else:
if array[i - 1][w] > p[i] + array[i-1][w-p[i]]:
array[i][w] = array[i - 1][w]
stone[i][w] = stone[i - 1][w]
else:
array[i][w] = p[i] + array[i-1][w-p[i]]
stone[i][w] = stone[i-1][w-p[i]] + [p[i]]
print(*array, sep="\n")
print(*stone, sep="\n")
f4(5, 20, [3, 3, 6, 9, 12])
print()
f4(5, 19, [5, 7, 9, 11, 13])
print()
f4(10, 47, [i for i in range(1, 11)])
print()
а условие можно?
рюкзак что ли
Ну +- да
Но ошибку то все равно не вижу. На поиск работает, а как найти какие именно камни положить непонимаю. Может ещё варианты есть как это сделать ?
Обсуждают сегодня