poj 1111 dfs(求連通塊周長)

2021-07-04 20:33:34 字數 548 閱讀 3886

題意:先輸入乙個矩陣,再輸入乙個起始位置,然後輸出與這個x在八個方向能夠連起來的所有x組成的圖形的周長。

思路:找到這個連通塊顯然深搜即可。找周長也很簡單,只要對每個位置看看其四周是否不為x,如果是,周長加1。程式裡將所有位置初始化為『.'方便判斷。

#include #include #include #include #include #include using namespace std;

#define clc(s,t) memset(s,t,sizeof(s))

#define n 25

char s[n][n];

int n,m,a,b,res;

int ori[8][2] = ,,,,,,,};

int check(int x,int y)

void dfs(int x,int y)

}}int main()

if(s[a][b] == 'x')

printf("%d\n",res);

}return 0;

}

dfs求連通塊

遞迴是什麼?絕大部分人都會說 自己呼叫自己,剛開始我也是這樣理解遞迴的。確實沒錯,遞迴的確是自己呼叫自己。遞迴簡單的應用 編寫乙個能計算斐波那契數列的函式,也就是這樣 int fac int n 相信絕大部分人都能看懂這段 遞迴除了可以用自己呼叫自己這樣描述之外,還可以這樣表示遞迴函式 遞推式 邊界...

poj 2186 tarjan求強連通分量

蕾姐講過的例題.玩了兩天後才想起來做 貌似省賽之後確實變得好懶了.再努力兩天就可以去北京玩了!順便借這個題記錄一下求強連通分量的演算法 1 只需要一次dfs 依靠stack來實現的tarjan演算法 每次走到乙個點 馬上把它壓入棧中 每次對與這個點相連的點處理完畢 判斷是否low u dfn u 若...

zoj 2412 dfs 求連通分量的個數

求連通分量的個數 搜尋時從第乙個字元 對應乙個正方形 開始,每搜尋到乙個正方形,對該位置的四個可能方向進行下一步搜尋,下一步搜尋需要滿足的條件是 當前這個正方形有某個方向的搜尋方向且下乙個正方形也有這個方向的接受 連線 方向,故可進行一步搜尋。例如 當前的可走的某個方向為 上 則下乙個正方形的連線方...