華為機試真題 66 單詞搜尋

2021-07-03 15:50:31 字數 1639 閱讀 2860

題目

* 日期: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 星期三,六,日 請將所有合理的挑水時間安排表思路回朔法求解 回朔法即每進行一步,都試圖在...