校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算機算出該地圖中共有幾個水池。
輸入第一行輸入乙個整數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輸出 輸出該地圖中水池的個數。要注...