水池數目 C 寬度搜尋 佇列 遞迴

2021-10-08 23:53:59 字數 831 閱讀 7568

校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。

輸入第一行輸入乙個整數n,表示共有n組測試資料

每一組資料都是先輸入該地圖的行數n(0輸出

輸出該地圖中水池的個數。

要注意,每個水池的旁邊(上下左右四個位置)如果還是水池的話的話,它們可以看做是同乙個水池。

本題不管是深度搜尋還是寬度搜尋都能夠完成,重點是在於搜尋套路與細節處理,此處我應用的是寬度搜尋

#include#includeusing namespace std;

#define endl '\n'

using ll=long long;

const size_t maxn = 101;

int a[maxn][maxn], book[maxn][maxn];//定義要檢索的圖(二維陣列a),和標記陣列book保證每個元素不被重複訪問

int fx[4][2] = ,,,

};//定義方向陣列,可移動的方位上下左右

int main()

}area = 0;//每次迴圈要更新區域數目

for (int i = 0; i < m; i++)

q.pop();//移出佇列}}

}cout << area << endl;//輸出區域數目

}return 0;

}

牢記寬度搜尋的套路

認真把握過程的細節

不斷檢測自己的**

深搜 水池數目

描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。輸入第一行輸入乙個整數n,表示共有n組測試資料 每一組資料都是先輸入該地圖的行數m 0輸出 輸出該地圖...

ACM 水池數目

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。輸入第一行輸入乙個整數n,表示共有n組...

水池數目 C 深度搜尋 C

校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。輸入第一行輸入乙個整數n,表示共有n組測試資料 每一組資料都是先輸入該地圖的行數n 0輸出 輸出該地圖中水池的個數。要注...