2024年6月10日 星期一

[79] Word Search(TBD)

ㄜ...是拉了太多天肚子還是怎樣XD 覺得寫的沒有意思T_T
照著答案寫了,懶得想T-T 覺得沒天份QQ
將來有機會再自己寫一次吧....... T^T

bool dfs(char** board, int boardSize, int boardColSize,int m, int n, char* word, int w_len, int idx)
{
if (idx== w_len)
return true;
if (m<0 || n<0 || m>boardSize-1 || n>boardColSize -1 || board[m][n]!=word[idx])
return false;
char bk = board[m][n];
board[m][n] = '_';
bool ret = (dfs(board,boardSize,boardColSize, m-1,n,word,w_len, idx+1) ||
dfs(board,boardSize,boardColSize, m,n-1,word,w_len, idx+1) ||
dfs(board,boardSize,boardColSize, m+1,n,word,w_len, idx+1) ||
dfs(board,boardSize,boardColSize, m,n+1,word,w_len, idx+1)
);

board[m][n]= bk;
return ret;
}

bool exist(char** board, int boardSize, int* boardColSize, char* word) {
int idx = 0;
int w_len =strlen(word);
for (int i=0; i<boardSize;i++)
{
for (int j=0;j<*boardColSize; j++)
{
if (dfs(board,boardSize, *boardColSize, i,j,word,w_len, idx))
return true;
}
}
return false;
}

沒有留言:

張貼留言