奇怪的電梯(bfs)

2021-10-21 11:32:47 字數 755 閱讀 5128

思路:這道題的解法很多,深搜廣搜都可以,而我用深搜來解它,首先我們可以將第乙個節點壓入佇列中,然後我們依次搜尋當前樓層可達到的樓層,並且判斷是否越界,如果沒有越界並且該樓層未被訪問過我們就將該節點壓入佇列中,為什麼判斷是否被訪問呢,因為如果當前到達樓層有正確解的話早就找到退出了,再次訪問到它很明顯他就是個死迴圈,所以我們要做乙個訪問的判斷,並且當前樓層壓入佇列過後也要設定為已訪問;

上**

#include

using

namespace std;

int n,a,b,lt[

205]

;bool vis[

205]

; 訪問陣列

struct nodex;

queue q;

intmain()

);//將第乙個壓入佇列中

while

(!q.

empty()

)),vis[xx]=1

;//如果未越界並且未被訪問,壓入佇列並且標記為已訪問,步數加1;

if(yy>=1&&

!vis[yy]

)q.push

((node)

),vis[yy]=1

;}if(x.id==b)cout<

else cout<

;return0;

}

奇怪的電梯 bfs搜尋

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第ii層樓 1 le i le n 1 i n 上有乙個數字k i 0 le k i le n ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按...

T1 奇怪的電梯(BFS)

題目背景 呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第 i 層樓 1 i n 上有乙個數字 ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3 3 1 2 5 代表了 ...

P1135 奇怪的電梯 BFS

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第ii層樓 1 le i le n 1 i n 上有乙個數字k i 0 le k i le n ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按...