廣度搜尋hdu1548

2021-07-24 18:01:13 字數 591 閱讀 4956

題意:有個電梯在每一層只有固定的往上的樓數和往下的樓數,求起點到終點的電梯最少移動的步數

思路:廣度搜尋按層搜尋即可,每次記錄步數,一到終點就退出迴圈。用c++的stl佇列要方便些。

**:

#include using namespace std;

#include #include #include int n, a, b;

int floor1[256], flag[256];

void bfs(int s, int e)

next = t + floor1[t] ;//向上

if(next <= b && flag[next]==0)

next = t - floor1[t]; //向下

if(next >= 1 && flag[next]==0)

}if(t!=e)

}int main()

memset(flag, 0, sizeof(flag));

bfs(a, b);

printf("%d\n", flag[b]-1);

}return 0;

}

HDU 1548 奇怪的電梯

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

HDU 1548蜘蛛牌(DFS 深搜)

蜘蛛牌是windows xp作業系統自帶的一款紙牌遊戲,遊戲規則是這樣的 只能將牌拖到比她大一的牌上面 a最小,k最大 如果拖動的牌上有按順序排好的牌時,那麼這些牌也跟著一起移動,遊戲的目的是將所有的牌按同一花色從小到大排好,為了簡單起見,我們的遊戲只有同一花色的10張牌,從a到10,且隨機的在一行...

hdu2717 廣度優先搜尋

acer 生涯的第一道bfs,終於ac了。剛開始與深搜弄混了,自己也暈了一上午。還有就是queue中幾個函式的用法 pop 刪除隊首元素 front 獲得隊首元素 push back empty 1 include 2 include 注意與的區別 3using namespace std 4con...