題意:有個電梯在每一層只有固定的往上的樓數和往下的樓數,求起點到終點的電梯最少移動的步數
思路:廣度搜尋按層搜尋即可,每次記錄步數,一到終點就退出迴圈。用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...