Курсовая работа: Методы решения задачи о рюкзаке
посетителя}
Then Inc(SNew[S[j]],P[j]);
SOld:=SNew;{запоминаем массив оценок}
End;
Res:=-MaxLongInt;
For i:=1 To K Do Res:=Max(Res,SNew[i]);
{находим максимальное значение
в окончательном массиве оценок}
End;
Приложение 2
Реализация метода ДП - программирования для задачи о рюкзаке:
program DP2;
{$APPTYPE CONSOLE}
uses SysUtils;
Const MaxW = 200; MaxN = 100;
var Value:array [0..MaxW,0..MaxN] of integer; {массивзначений(сколькоможнонабратьдля 1..W весовв 1..N предметов)}
Take :array [0..MaxW,0..MaxN] of boolean; {массивзначенийбралипредметилинет}
W,P :array [0..MaxN] of integer; {Массиввесов, массивцен}
i, N, Weight, MaxWeight :integer;
procedure Init;
begin
assign(input,'input.txt');
reset(input);
readln(N, MaxWeight);
for i:=1 to N do readln(W[i], P[i]);
close(input);
end;
procedure Solve;
begin
fillchar(Take, sizeof(Take), false); {обнуляем}