SSL 2283(相似哦)
题目说明
五人从事五件事,收益各不相同,但每人只能从事一项,且一项只能有一个人来做。求最大收益。
var
a:array[1..5,1..5]of longint;
b:array[1..5]of longint;
i,j,max:longint;
procedure search(k,x:longint);
var
i:longint;
begin
if k>5 then begin if max<x then max:=x; end
else
for i:=1 to 5 do
if b[i]=0 then
begin
b[i]:=1;
search(k+1,x+a[k,i]);
b[i]:=0;
end;
end;
begin
for i:=1 to 5 do
begin
for j:=1 to 5 do
read(a[i,j]);
readln;
end;
search(1,0);
writeln(max);
end.
搜索解。判断一个工作有没有人从事,然后当所有人都选完工作以后判断是不是最大收益,就这样。
暴力,我的风格!