из которой мы в


из которой мы в нее попали в текущую позицию. Эта позиция определяется аргументом, на котором достигаемся оптимум (максимум, минимум) рассматриваемой функции. В данном случае для каждой позиции i можно определить номер первого предмета, для которого значение Т(i) стало максимальным (в данном случае равным единице). {Вычисление значений и запоминание предшественника (Father)} T[0]: = 1; Father[0]:=0 for j:=1 to 16 do begin T[j] = 0; Father[j]:=0 end; for i:=1 to 5 do for j:=16 to M[i] do if T[ j] < T[j - M[i]] then begin T[ j] := T[j - M[i]] ; Father[j]:=i; end; {Восстановление решения} sum:=16; i:= Father[sum]; While (i>0) do Begin Writeln(i); sum:=sum-M[i]; i:= Father[sum]; End; <<< Предыдущий урок Следующий урок >>> | Новости | Регистрация | Курсы | Карта сайта | Контактная информация | Курс 1 Глава G Понятие задачи и подзадачи Использование таблиц при решении подзадач Использование двумерных
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz