j := 1 to 16 do
j := 1 to 16 do begin
if j >= M[i] then begin
T[i, j] = max(T[i - 1, j], T[i - 1, j - M[i]])
end else begin
T[i, j] = T[i - 1, j];
end;
end;
end;
sum := 16;
if T[5, 16] = 1 then begin
for i := 5 downto 1 do begin
if T[i, sum] = T[i - 1, sum] then begin
writeln (i, "---No")
end else begin
writeln (i, "---Yes");
sum := sum - M[i];
end;
end;
end else begin
writeln("No solution");
end;
Задача #1. Рюкзак - 1 (Отправить)
Имя входного файла input.txt
Имя выходного файла output.txt
Максимальное время работы на одном тесте 2 секунды
Имеется N неделимых предметов. Для каждого предмета известна его стоимость (в рублях) и масса (в кг.). Величины стоимости и массы являются натуральными числами. Ваша цель состоит в том, чтобы определить, существует ли набор, суммарная масса предметов которого ровно K кг. Если такой набор существует, то требуется определить такой список предметов в наборе, чтобы их суммарная стоимость
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа