глобальным переменным
глобальным переменным осуществляется в процедуре Init .
procedure Include(k:Nint);{включение в решение}
begin
Rwork:=Rwork+[A[k].man];
Inc(mn);
end;
procedure Exclude(k:Nint);{исключить из решения}
begin
Rwork:=Rwork-[A[k].man];
Dec(mn);
end;
procedure Solve(k:Nint;Res,Rt:Sset);
{k- номер элемента массива А; Res - множество партий, которые представлены в текущем решении; Rt - множество партий, которые следует “покрыть” решением; min - минимальное количество членов в парламенте; mn - число членов парламента в текущем решении; Rbest - минимальный парламент; Rwork - текущий парламент; первый вызов - Solve(1,[],[1..N])}
var i:Nint;
begin
блок общих отсечений
if Rt=[] then begin if nm<min then
begin min:=mn;Rbest:=Rwork end;
end
else begin
i:=k;
while i<=N do begin
блок отсечений по i
Include(i);
Solve(i+1,Res+A[i].part,Rt-A[i].part);
Exclude(i);
Inc(i);
end;
end;
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа