letters 搜尋與回溯

2021-08-31 07:05:44 字數 1015 閱讀 1470

給出乙個roe×colroe×col的大寫字母矩陣,一開始的位置為左上角,你可以向上下左右四個方向移動,並且不能移向曾經經過的字母。問最多可以經過幾個字母。

第一行,輸入字母矩陣行數rr和列數ss,1≤r,s≤201≤r,s≤20。

接著輸出rr行ss列字母矩陣。

最多能走過的不同字母的個數。

3 6

hfdffb

ajhgdh

dgageh

6
#include#includeusing namespace std;

bool b[26];//26個字母

char a[21][21];

int r, s;

int x[401];

int y[401];

int gx[4] = ,

gy[4] = ;

int maxn = 0;

int dfs(int i) }}

int main()

#includeusing namespace std;

bool b[26];

int r, s;

char a[21][21];

int u[4] = ,

v[4] = ;

int maxi;

int dfs(int x, int y, int i) }}

int main()

b[a[0][0]] = true;

dfs(0, 0, 1);

cout << maxi;

}

在回溯函式裡不管是用a[i] = a[i-1] +...(dfs(int i))還是結用區域性變數xx = x + ... 這種樣的寫法都是借用原先傳入函式(比如dfs(int x, int y,int i)的x, y, i) 的引數在回溯後,其值在for迴圈內是不變的。因而借用這個特性,在遞迴呼叫語句後面可以不對xx寫回溯語句。

LETTERS 搜尋與回溯

給出乙個r oe c olroe col的大寫字母矩陣,一開始的位置為左上角,你可以向上下左右四個方向移動,並且不能移向曾經經過的字母。問最多可以經過幾個字母。第一行,輸入字母矩陣行數rr和列數ss,1 r,s 201 r,s 20。接著輸出rr行ss列字母矩陣。最多能走過的不同字母的個數。3 6 ...

搜尋與回溯

搜尋與回溯 本詞條由 科普中國 科學百科詞條編寫與應用工作專案 審核 回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優...

搜尋與回溯

p1157 組合的輸出 原題見洛谷。這道題是非常典型的搜尋與回溯,主要就是把所有可能篩一遍並依次輸出。search寫法 include using namespace std int num 0,a 10001 n,r bool b 10001 void print dfs寫法 include us...