題目
* 日期:2015-07-06
* 題目:wordsearch
-----------------------------------------*/
#include
#include
#include
#include
#include
using
namespace
std;
bool dfs(vector
> &board,string word,int index,int x,int y,vector
> &visited)//if
int m = board.size();
if(m == 0)//if
int n = board[0].size();
// 出界
if(x < 0 || x >= m || y < 0 || y > n)//if
// 已訪問過
if(visited[x][y])//if
// 不相等 剪枝
if(board[x][y] != word[index])//if
visited[x][y] = true;
// left
bool left = dfs(board,word,index+1,x,y-1,visited);
// right
bool right = dfs(board,word,index+1,x,y+1,visited);
// up
bool up = dfs(board,word,index+1,x-1,y,visited);
// bottom
bool bottom = dfs(board,word,index+1,x+1,y,visited);
visited[x][y] = false;
// 四個方向 任意方向找到乙個即可
return left || right || up || bottom;
}// 單詞搜尋
bool wordsearch(vector
> &board,int m,int n,string word)//if
// 判斷是否已經訪問過
vector
> visited(m,vector
(n,false));
// 搜尋
for(int i = 0;i < m;++i)//if
}//if
}//for
}//for
return
false;
}int main()//for
}//for
// 搜尋
bool result = wordsearch(board,m,n,word);
if(result)//while
return
0;}
華為機試真題 70 分蘋果
題目 m個相同蘋果放到n個相同籃子裡有多少種放法,允許有籃子不放。1 m 10,1 n 10 例如5個蘋果三個籃子,3,1,1 和 1,1,3是同一種放法 輸入 7 3 輸出 8思路 設f m,n 為m個蘋果,n個盤子的放法數目 當n m 必定有n m個盤子永遠空著,去掉它們對擺放蘋果方法數目不產生...
華為機試真題 70 分蘋果
題目 m個相同蘋果放到n個相同籃子裡有多少種放法,允許有籃子不放。1 m 10,1 n 10 例如5個蘋果三個籃子,3,1,1 和 1,1,3是同一種放法 輸入 7 3 輸出 8思路 設f m,n 為m個蘋果,n個盤子的放法數目 當n m 必定有n m個盤子永遠空著,去掉它們對擺放蘋果方法數目不產生...
華為機試真題 2015 65 和尚挑水
題目 某寺廟裡7個和尚 輪流挑水,為了和其他任務不能衝突,各人將有空天數列出如下表 和尚1 星期二,四 和尚2 星期一,六 和尚3 星期三,日 和尚4 星期五 和尚5 星期一,四,六 和尚6 星期二,五 和尚7 星期三,六,日 請將所有合理的挑水時間安排表思路回朔法求解 回朔法即每進行一步,都試圖在...