搜尋 bfs,dfs 專題3 迷宮問題

2021-10-04 22:28:37 字數 1147 閱讀 6363

#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 有終點和...