#43830: C++詳解-BFS


toseanlin@gmail.com (Dr. SeanXD)


使用 BFS,並且要紀錄每一次走過的點,只要走過就不能再走,不能會造成無窮迴圈。另外,每走到一個點就要將目前位置的字元改成「+」。

 

範例程式碼

#45300: Re: C++詳解-BFS


rsj00008 (西加008)


使用 BFS,並且要紀錄每一次走過的點,只要走過就不能再走,不能會造成無窮迴圈。另外,每走到一個點就要將目前位置的字元改成「+」。

 

用DFS程式較簡潔吧
void dfs(int r,int c)
{
   map[r][c]='+';
   若上下左右(nr,nc) 不出界且為'-'則 dfs(nr,nc)
}
====主程式
只要讀入n, map, i,j後dfs(i,j)
最後印出即可