【数据结构与算法】之深入解析“地下城游戏”的求解思路与算法示例
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】之深入解析“地下城游戏”的求解思路与算法示例
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、題目要求
- 一些惡魔抓住了公主(P)并將她關(guān)在了地下城的右下角,地下城是由 M x N 個(gè)房間組成的二維網(wǎng)格,我們英勇的騎士(K)最初被安置在左上角的房間里,他必須穿過(guò)地下城并通過(guò)對(duì)抗惡魔來(lái)拯救公主。
- 騎士的初始健康點(diǎn)數(shù)為一個(gè)正整數(shù),如果他的健康點(diǎn)數(shù)在某一時(shí)刻降至 0 或以下,他會(huì)立即死亡。
- 有些房間由惡魔守衛(wèi),因此騎士在進(jìn)入這些房間時(shí)會(huì)失去健康點(diǎn)數(shù)(若房間里的值為負(fù)整數(shù),則表示騎士將損失健康點(diǎn)數(shù));其他房間要么是空的(房間里的值為 0),要么包含增加騎士健康點(diǎn)數(shù)的魔法球(若房間里的值為正整數(shù),則表示騎士將增加健康點(diǎn)數(shù))。
- 為了盡快到達(dá)公主,騎士決定每次只向右或向下移動(dòng)一步。
- 編寫一個(gè)函數(shù)來(lái)計(jì)算確保騎士能夠拯救到公主所需的最低初始健康點(diǎn)數(shù):
-
- 例如,考慮到如下布局的地下城,如果騎士遵循最佳路徑 右 -> 右 -> 下 -> 下,則騎士的初始健康點(diǎn)數(shù)至少為 7。
| -5 | -10 | 1 |
| 10 | 30 | -5 ( P ) |
-
- 說(shuō)明:
-
-
- 騎士的健康點(diǎn)數(shù)沒有上限;
-
-
總結(jié)
以上是生活随笔為你收集整理的【数据结构与算法】之深入解析“地下城游戏”的求解思路与算法示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【数据结构与算法】之深入解析“逆波兰表达
- 下一篇: 【数据结构与算法】之深入解析“寻找旋转排