解題思路:其實遞迴與上一題紅與黑dfs方法求解的思路基本一致,只是這裡的解法更能反映遞迴的特質,我覺得會更有利於幫助我們理解遞迴從而更自如地運用遞迴(經測試,耗時相同的情況下**量也相對少一些)。如果遇到不是『#』的符號,return 1+f(x+1,y)_f(x-1,y)+f(x,y+1)+f(x,y-1);返回1加上前後左右的計數值。出口條件是:1.越界,即超出限定的圖形長度範圍,return 0; 2.遇到『#』,無法進一步計數,return 0;
下面直接給出**:
#include#includeint n,m; //行列數目
using namespace std;
char maze[21][21];
int f(int x, int y)
}int main()
for(int i=0;iint ans;
for(int i=0;i}
} printf("%d\n",ans);
} return 0;
}
DFS特訓(POJ2816)紅與黑,DFS解法
解題思路 說白了就是一題求連通塊的題目,這裡運用深度優先搜尋,遍歷每乙個合法的位置,每到乙個位置全域性變數ans都會自加1。這裡一定要注意判別條件,越界的陣列和根據題目要求為 的陣列要素直接跳過即可。遍歷完全後列印全域性變數的數值。注意題目中要求尋找起點的要求。總時間限制 1000ms 記憶體限制 ...
dfs入門 紅與黑
時間限制 1 sec 記憶體限制 32 mb 提交 10 解決 8 提交 狀態 討論版 小明站在乙個矩形房間裡,這個房間的地面鋪滿了地磚,每塊地磚的顏色或是紅色或是黑色。小明一開始站在一塊黑色地磚上,並且小明從一塊地磚可以向上下左右四個方向移動到其他的地磚上,但是他不能移動到紅色地磚上,只能移動到黑...
藍橋杯練習 DFS 1113 紅與黑
1113.紅與黑 include include include using namespace std const int n 25 int n,m char g n n bool st n n int dx 4 dy 4 intdfs int x,int y return cnt int mai...