DFS特訓 紅與黑(POJ2816)遞迴解法

2021-08-22 08:25:37 字數 542 閱讀 5287

解題思路:其實遞迴與上一題紅與黑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...