Escape The Maze (easy version) 多源最短路,bfs(1700)
生活随笔
收集整理的這篇文章主要介紹了
Escape The Maze (easy version) 多源最短路,bfs(1700)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意 :
- 在一顆樹形迷宮中,一共有n個結(jié)點,有k個vlad的朋友,分別在x1,x2,...x_1,x_2,...x1?,x2?,...結(jié)點。vlad從1號結(jié)點出發(fā),問,在所有朋友都同時移動的同時,vlad是否一定可以走到一個葉子結(jié)點(過程中不被朋友抓住)?
思路 :
- 求的是是否一定可以,也就是不可能被抓住,走到某一個葉子結(jié)點的最短路徑上的每一個點都比任何朋友走到這個點快,這樣可以保證不被抓住
- 多源最短路bfs問題,從所有朋友出發(fā),求出到達(dá)i結(jié)點的最短路程,再從vlad出發(fā),求是否存在一條到達(dá)葉子結(jié)點的路徑,使得路徑上每個點的最短路徑都比朋友的短
- 關(guān)于bfs :如果每一次擴(kuò)展恰好對應(yīng)一步,那么當(dāng)一個狀態(tài)第一次被訪問(入隊)時,就得到了從起始狀態(tài)到達(dá)該狀態(tài)的最少步數(shù),就直接入隊了,且每個點只入隊一次。
- 第二次bfs時,如果當(dāng)前這個點已經(jīng)比朋友走到這的最短距離大于等于了,說明不走這個點,直接continue
- 如何表示葉結(jié)點 ?ne[h[i]] == -1,注意同時還要判斷它不是起點1
總結(jié)
以上是生活随笔為你收集整理的Escape The Maze (easy version) 多源最短路,bfs(1700)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Weights Assignment F
- 下一篇: Escape The Maze (har