日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

174. Dungeon Game 地下城游戏

發布時間:2024/5/7 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 174. Dungeon Game 地下城游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Title

一些惡魔抓住了公主(P)并將她關在了地下城的右下角。地下城是由 M x N 個房間組成的二維網格。我們英勇的騎士(K)最初被安置在左上角的房間里,他必須穿過地下城并通過對抗惡魔來拯救公主。

騎士的初始健康點數為一個正整數。如果他的健康點數在某一時刻降至 0 或以下,他會立即死亡。

有些房間由惡魔守衛,因此騎士在進入這些房間時會失去健康點數(若房間里的值為負整數,則表示騎士將損失健康點數);其他房間要么是空的(房間里的值為 0),要么包含增加騎士健康點數的魔法球(若房間里的值為正整數,則表示騎士將增加健康點數)。

為了盡快到達公主,騎士決定每次只向右或向下移動一步。

編寫一個函數來計算確保騎士能夠拯救到公主所需的最低初始健康點數。

例如,考慮到如下布局的地下城,如果騎士遵循最佳路徑 右 -> 右 -> 下 -> 下,則騎士的初始健康點數至少為 7。

-2 (K)-33
-5-101
1030-5 §

說明:

  • 騎士的健康點數沒有上限。

  • 任何房間都可能對騎士的健康點數造成威脅,也可能增加騎士的健康點數,包括騎士進入的左上角房間以及公主被監禁的右下角房間。

動態規劃

考慮從右下往左上進行動態規劃。令 dp[i][j] 表示從坐標 (i,j) 到終點所需的最小初始值。換句話說,當我們到達坐標 (i,j) 時,如果此時我們的路徑和不小于 dp[i][j] ,我們就能到達終點。

這樣一來,我們就無需擔心路徑和的問題,只需要關注最小初始值。對于 dp[i][j],我們只要關心 dp[i][j+1] 和 dp[i+1][j] 的最小值 minn。記當前格子的值為 dungeon(i,j),那么在坐標 (i,j) 的初始值只要達到 minn?dungeon(i,j) 即可。同時,初始值還必須大于等于 1。這樣我們就可以得到狀態轉移方程:

dp[i][j]=max(min(dp[i+1][j],dp[i][j+1])?dungeon(i,j),1)dp[i][j]=max(min(dp[i+1][j],dp[i][j+1])?dungeon(i,j),1)dp[i][j]=max(min(dp[i+1][j],dp[i][j+1])?dungeon(i,j),1)
最終答案即為 dp[0][0]。

邊界條件為,當 i=n-1 或者 j=m-1 時,dp[i][j] 轉移需要用到的 dp[i][j+1] 和 dp[i+1][j] 中有無效值,因此代碼實現中給無效值賦值為極大值。特別地,dp[n-1][m-1] 轉移需要用到的 dp[n?1][m] 和 dp[n][m-1] 均為無效值,因此我們給這兩個值賦值為 1。

Code

def calculateMinimumHP(self, dungeon: List[List[int]]) -> int:rows, cols = len(dungeon), len(dungeon[0])dp = [[10 ** 9] * (cols + 1) for _ in range(rows + 1)]dp[rows][cols -1] = dp[rows - 1][cols] = 1for i in range(rows - 1, -1, -1):for j in range(cols - 1, -1, -1):minn = min(dp[i + 1][j], dp[i][j + 1])dp[i][j] = max(minn - dungeon[i][j], 1)return dp[0][0]

復雜度分析

時間復雜度:O(N×M),其中 N,M 為給定矩陣的長寬。

空間復雜度:O(N×M),其中 N,M 為給定矩陣的長寬,注意這里可以利用滾動數組進行優化,優化后空間復雜度可以達到 O(N)。

總結

以上是生活随笔為你收集整理的174. Dungeon Game 地下城游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品综合久久 | 精品福利视频导航 | 国产伊人久久 | 爱露出| 无码精品人妻一区二区三区湄公河 | 免费人成网站 | 国产巨乳在线观看 | 中国国产bdsm紧缚捆绑 | 炕上如狼似虎的呻吟声 | 日韩综合av | 亚洲一线av | 国产精品自偷自拍 | 在线观看日韩国产 | 久草视频免费在线播放 | 欧美亚州国产 | 免费成人深夜夜国外 | 97在线精品视频 | 欧美一区二区三区久久妖精 | 国产黄色免费大片 | 国产裸体永久免费无遮挡 | 91精品国产高清一区二区三蜜臀 | 国产熟妇搡bbbb搡bbbb | 亚洲色图视频在线 | 国外亚洲成av人片在线观看 | 国产性自拍 | av成人免费观看 | 国产主播毛片 | 少妇特黄a一区二区三区88av | 亚洲黄站| 日本性视频网站 | 无码人妻一区二区三区免费 | 国产超碰97| 佐佐木明希av在线 | 淫视频在线观看 | 国产女主播喷水高潮网红在线 | 日本免费专区 | 国产精品99久久久久久一二区 | 熟女丰满老熟女熟妇 | 天天精品综合 | 一级视频在线播放 | 九色porny自拍视频在线播放 | 亚洲福利一区 | 日韩在线观看视频一区二区三区 | 国产主播自拍av | 久久亚洲av午夜福利精品一区 | 国产精品久久久久久久久久东京 | 中文字幕免费在线观看视频 | 国产精品毛片久久久久久 | 国内精品小视频 | 精品欧美一区二区三区免费观看 | 少妇人妻一区二区三区 | 夜夜爽妓女8888视频免费观看 | 国产视频播放 | 久久久久久久久久一区 | 日韩一级在线视频 | 最新中文字幕一区 | 欧美aⅴ | 韩国三级免费 | 精品少妇人妻av一区二区 | 欧美a一级| 亚洲卡一卡二卡三 | 中文字幕在线视频网站 | 人体裸体bbbbb欣赏 | 五月婷婷丁香综合 | 无码少妇一区二区三区芒果 | 日本小视频网站 | 农村一级毛片 | 九九热超碰 | 日韩三级视频在线观看 | 蜜桃臀一区二区三区 | 精品视频在线免费 | 少妇色欲网 | 国产a久久麻豆入口 | 国产精品久久777777毛茸茸 | 中文字幕一区二区人妻在线不卡 | 免费在线观看成人av | 免费在线观看a级片 | 超碰日日干 | 人妖ts福利视频一二三区 | 国产只有精品 | 天天躁日日躁狠狠躁av | 日本精品在线观看视频 | 视色视频| 亚洲操一操 | 国产日韩精品一区 | 国产不卡在线观看视频 | 色婷婷国产精品综合在线观看 | 农村激情伦hxvideos | 国产一卡二卡在线播放 | 天天爽天天爽天天爽 | 1024精品一区二区三区日韩 | 欧美日韩成人一区二区在线观看 | 国产精品黑人一区二区三区 | 久久久久久久久久艹 | 黄色美女一级片 | 2019狠狠干| 人人爽人人爽人人片 | 午夜精品一区二区三区在线观看 | 成人做爰69片免费看 |