Oil Deposit深搜問題

2021-10-02 09:53:58 字數 872 閱讀 7621

這個題一看就是要用深搜(dfs)啦

那麼dfs函式的寫法就是這樣:

void

dfs(

int x,

int y)

return

;}

用乙個5x5的地圖來舉例(0代表無油,1代表有)

0 0 0 0 1

0 1 1 0 1

0 1 0 0 1

1 1 1 0 1

1 1 0 0 1

我們走到第一行第五列時發現符合條件的,那麼我們對他進行操作,於是走到第二行第五列再進行操作,於是第三行第五列。。。最後第五行第五列後找不到就層層返回。

變成了:

0 0 0 0 0

0 1 1 0 0

0 1 0 0 0

1 1 1 0 0

1 1 0 0 0

又走到了第二行第二列進行操作,根據我的順序(從右開始順時針探索)先找到第二行第三列,在第二行第三列的探索中找到第三行第二列,再依次探索。

#include

int m,n;

char a[

105]

[105];

int b[8]

[2]=

,,,,

,,,}

;void

dfs(

int x,

int y)

return;}

intmain()

getchar()

;}for(i=

1;i<=m;i++)}

}printf

("%d\n"

,count);}

return0;

}

迷宮問題 深搜

簡單的實現了迷宮 深搜 並非是最短路徑 我們規定 1 為牆,0 為通路。為了避免越界,在迷宮外面加了一堵牆。當然也可以不需要牆。實現很簡單,用乙個陣列棧儲存已訪問過的位置,用四個if語句判斷東南西北四個方向能否走通。若往前已無路可走便退回上乙個位置。具體實現如下 include include de...

迷宮問題(深搜

d 迷宮問題 crawling in process.crawling failed time limit 1000msmemory limit 65536kb64bit io format i64d i64u submit status description 定義乙個二維陣列 int maze ...

深搜 門票問題

有很多人在門口排隊,每個人將會被發到乙個有效的通行密碼作為門票。乙個有效的密碼由l 3 l 15 個小寫英文本母組成,至少有乙個母音 a e i o u 和兩個子音 除去母音以外的音節 並且是按字母表順序出現的 例如abc是有效的,而bac不是 現在給定乙個期望長度為l和c 1 c 26 個小寫字母...