CSP认证201604-4游戏[C++题解]:bfs、拆点、迷宫问题加强版、三维数组
生活随笔
收集整理的這篇文章主要介紹了
CSP认证201604-4游戏[C++题解]:bfs、拆点、迷宫问题加强版、三维数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目解答
- 題目鏈接
題目解答
來源:acwing
分析:這題和普通的bfs求走迷宮問題很像,走迷宮告訴哪些點不能走,是永遠(yuǎn)不能走,這樣bfs的時候很容易處理。本題是這些障礙點在某段時間內(nèi)不能走,這就給初學(xué)者帶來了問題,這些變化的障礙點怎么處理呢?
其實,這里用到的技巧是拆點,這里的含義是多考慮一維,即時間。在a,b這段時間內(nèi)阻礙的話,就標(biāo)記為true,表示這段時間內(nèi)不能走。
while(T --){int x, y, a, b;cin >> x >> y >> a >> b;for(int i = a; i <= b; i ++)// 從a到b時刻不能走,標(biāo)記為trueg[x][y][i] = true;}加上這樣的處理之后,就可以按照普通的bfs來搜了。
AC代碼
題目鏈接
https://www.acwing.com/problem/content/3233/
總結(jié)
以上是生活随笔為你收集整理的CSP认证201604-4游戏[C++题解]:bfs、拆点、迷宫问题加强版、三维数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSP认证201604-3路径解析[C+
- 下一篇: CSP认证201609-1最大波动[C+