AcWing 1112 迷宮(DFS連通性)

2021-10-04 19:22:28 字數 871 閱讀 6916

給定起點和終點,問是否有這樣一條路能夠連通。

1 ≤n

≤100

1≤n≤100

1≤n≤10

0

2

3.##

..##..

0 0 2 2

5.....

###.#

..#..

###..

...#.

0 0 4 0

yes

no

這題就是典型的連通性問題,屬於模板題,注意起點和終點可能不合法

#include

using

namespace std;

const

int n =

110;

char mat[n]

[n];

bool st[n]

[n];

int n;

int dx[4]

=, dy[4]

=;bool

dfs(

int sx,

int sy,

int ex,

int ey)

st[sx]

[sy]

=true

;for

(int i =

0; i <4;

++ i)}}

//注意這裡沒有 st[sx][sy] = false !

return

false;}

intmain()

if(dfs(sx, sy, ex, ey)

)else

}return0;

}

迷宮問題dfs

迷宮問題 棧作為深度優先遍歷 dfs 採用的搜尋方法的特點是盡可能先對縱深方向進行搜尋 可以最快的找到解 include define m 8 define n 8 define maxsize 1000 typedef struct box typedef struct sttype 迷宮問題常用...

DFS 遞迴 迷宮

這幾天都在看那本演算法書 啊哈!演算法 今天看到深度優先搜尋 dfs 總結了自己看得懂的使用模板.dfs的模板.public class main static void dfs else 1 主方法呼叫靜態方法dfs。2 dfs方法的步驟 1 先判斷目前是否滿足條件。2 滿足的話,就執行輸出結果的...

A 逃離迷宮 DFS

給定乙個m n m行,n列 的迷宮,迷宮中有兩個位置,gloria想從迷宮的乙個位置走到另外乙個位置,當然迷宮中有些地方是空地,gloria可以穿越,有些地方是障礙,她必須繞行,從迷宮的乙個位置,只能走到與它相鄰的4個位置中,當然在行走過程中,gloria不能走到迷宮外面去。令人頭痛的是,glori...