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 maxthen max:=x; end
else
for i:=1to5
doif b[i]=0
then
begin
b[i]:=1;
search(k+1,x+a[k,i]);
b[i]:=0;
end;
end;
begin
for i:=1to5
dobegin
for j:=1to5
doread(a[i,j]);
readln;
end;
search(1,0);
writeln(max);
end.
搜尋解。判斷乙個工作有沒有人從事,然後當所有人都選完工作以後判斷是不是最大收益,就這樣。
暴力,我的風格!
搜尋與回溯
搜尋與回溯 本詞條由 科普中國 科學百科詞條編寫與應用工作專案 審核 回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優...
搜尋與回溯
p1157 組合的輸出 原題見洛谷。這道題是非常典型的搜尋與回溯,主要就是把所有可能篩一遍並依次輸出。search寫法 include using namespace std int num 0,a 10001 n,r bool b 10001 void print dfs寫法 include us...
搜尋與回溯演算法
搜尋與回溯是計算機解題中常用的演算法,很多問題無法根據某種確定的計算法則來求解,可以利用搜尋與回溯的技術來求解。回溯是搜尋演算法中的一種控制策略。回溯的基本思想是 為了求得問題的解,先選擇某一種可能的情況向前探索,在探索過程中,一旦發現原來的選擇是錯誤的,就退回一步重新選擇,繼續向前探索,如此反覆進...