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