#include
using
namespace std;
int n,m,t;
int a[
100]
[1000]=
;int vis[
100]
[1000]=
;int x,y,x2,y2;
int sum=0;
int dx[4]
=;//打表;
int dy[4]
=;//打表;
void
dfs(
int l,
int r)
vis[l]
[r]=1;
dfs(l-
1,r)
;dfs
(l+1
,r);
dfs(l,r-1)
;dfs
(l,r+1)
; vis[l]
[r]=0;
//兩種方法,一種標記當前的vis,一種先把起點在main函式裡面標記,然後dfs標記後來的點
}int
main()
dfs(x,y)
; cout<
}
其實是一道求連通塊的題目,因為多次查詢,需要記憶化搜尋
搜尋 bfs,dfs 專題1 八皇后型別
模板 1判斷邊界 2剪枝3嘗試放入並判斷,4標記,最後回溯 3 4兩步可以調換 include using namespace std int a 10000000 int n int tot 0 void search int cur cout return else for int i 0 ii...
SDUT1157 小鼠迷宮問題 bfs dfs
小鼠a與小鼠b身處乙個m n的迷宮中,如圖所示。每乙個方格表示迷宮中的乙個房間。這m n個房間中有一些房間是封閉的,不允許任何人進入。在迷宮中任何位置均可沿上,下,左,右4個方向進入未封閉的房間。小鼠a位於迷宮的 p,q 方格中,它必須找出一條通向小鼠b所在的 r,s 方格的路。請幫助小鼠a找出所有...
搜尋演算法(迷宮問題)
盼來盼去終於又要開始學習演算法了!筆者自學演算法,所以學習順序以個人舒服的形式!用例子來看 問題 有乙個迷宮,以1 2形式來表示 1表示是空地,即可以行走,2表示是障礙物,即無法通行。該迷宮由乙個矩陣形式表示。即1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 有終點和...