程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> POJ 2386 Lake Counting 搜索題解

POJ 2386 Lake Counting 搜索題解

編輯:C++入門知識

POJ 2386 Lake Counting 搜索題解


簡單的深度搜索就可以了,看見有人說什麼使用並查集,那簡直是大算法小用了。

因為可以深搜而不用回溯,故此效率就是O(N*M)了。

技巧就是增加一個標志P,每次搜索到池塘,即有W字母,那麼就認為搜索到一個池塘了,P值為真。

搜索過的池塘不要重復搜索,故此,每次走過的池塘都改成其他字母,如'@',或者'#',隨便一個都可以。

然後8個方向搜索。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int MAX_N = 101;
char pond[MAX_N][MAX_N];
const char VIS = '@';
int N, M;
bool P;

inline bool isLegal(int r, int c)
{
	return 0<=r && 0<=c && r


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved