Курсовая работа: Методы решения задачи о рюкзаке
Done;
end.
Приложение 3
Реализация полного перебора для задачи о рюкзаке:
program FS;
{$APPTYPE CONSOLE}
uses SysUtils;
type mas = array[1..50] of integer;
Var N, MaxW:integer;{количество предметов, максимальный вес}
W,P,BestP,NowP:mas;
Max:Integer;
procedure Init;
var i:integer;
begin
assign(input,'input.txt');
reset(input);
readln(N, MaxW);
for i:=1 to N do readln(W[i], P[i]);
close(input);
end;
{передаем Nab - номер набранной группы, OstW-вместимость, stoim-цена набранного (еще не набрали нисколько)}
Procedure Search(Nab, OstW:integer; Stoim:integer);
var i:integer;
begin
{здесь OstW-вес который следует набрать из оставшихся. Stoim-стоимость текущего решения}
{Nab - набор предметов. если наполнили рюкзак
и набрали стоимость больше чем имеется, то считаем это новым решением}
if (Nab > N) and (Stoim > Max) then begin {найденорешение}
BestP:=NowP;
Max:=Stoim;