本文主要是介绍搜索与回溯5.6——工作效益,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SSL 2283(相似哦)
题目说明
五人从事五件事,收益各不相同,但每人只能从事一项,且一项只能有一个人来做。求最大收益。
vara:array[1..5,1..5]of longint;b:array[1..5]of longint;i,j,max:longint;
procedure search(k,x:longint);
vari:longint;
beginif k>5 then begin if max<x then max:=x; endelsefor i:=1 to 5 doif b[i]=0 thenbeginb[i]:=1;search(k+1,x+a[k,i]);b[i]:=0;end;
end;beginfor i:=1 to 5 dobeginfor j:=1 to 5 doread(a[i,j]);readln;end;search(1,0);writeln(max);
end.
搜索解。判断一个工作有没有人从事,然后当所有人都选完工作以后判断是不是最大收益,就这样。
暴力,我的风格!
这篇关于搜索与回溯5.6——工作效益的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!