搜尋與回溯5 6 工作效益

2021-07-24 20:59:22 字數 777 閱讀 6067

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...

搜尋與回溯演算法

搜尋與回溯是計算機解題中常用的演算法,很多問題無法根據某種確定的計算法則來求解,可以利用搜尋與回溯的技術來求解。回溯是搜尋演算法中的一種控制策略。回溯的基本思想是 為了求得問題的解,先選擇某一種可能的情況向前探索,在探索過程中,一旦發現原來的選擇是錯誤的,就退回一步重新選擇,繼續向前探索,如此反覆進...