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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

棋盘寻宝

發布時間:2025/4/16 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 棋盘寻宝 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:

現在有一個8*8的棋盤,上面放著64個價值不等的禮物,每個小的棋盤上面放置一個禮物(禮物的價值大于0小于1000),一個人的初始位置在棋盤的左上角,每次他只能向下或向右移動一步,并拿走對應棋盤上的禮物,結束位置在棋盤的右下角,請設計一個算法使其能夠獲得最大價值的禮物。

輸入:

輸入包含多個測試用例,每個測試用例共有8行8列,第i行的第j列的數字代表了該處棋盤上的禮物的價值,每兩個數之間用空格隔開。

輸出:

對于每組測試用例,請輸出你能夠獲得最大價值的禮物。

樣例輸入:

2 8 15 1 10 5 19 19 3 5 6 6 2 8 2 12 16 3 8 17 12 5 3 14 13 3 2 17 19 16 8 7 12 19 10 13 8 20 16 15 4 12 3 14 14 5 2 12 14 9 8 5 3 18 18 20 4 2 10 19 17 16 11 3 動態規劃問題:

dp[i][j]=dp[i][j-1]+dp[i-1][j]

?dp[0][0]=map[0][0];

? ? ? ? 把列為0行為1到7的所有的最優的dp[i][0]求出;dp[i][0]=dp[i-1][0]+map[i][j];

? ? ? ? 把行為0列為1到7的所有的最優的dp[0][j]求出; ? dp[0][j]=dp[0][j-1]+map[i][j];

? ? ? ? 然后再由

? ? ? ? ?for(i=1;i<8;i++)

? ? ? ? ? ? ? for(j=1;j<8;j++)

? ? ? ? ? ? ? ? ? ? ? dp[i][j]=max{dp[i-1][j],dp[i][j-1]};

? ? ? ?其中dp[i-1][j]表示左邊走過來的,dp[i][j-1]表示上邊走下來的

dp[0][0]=map[0][0];把列為0行為1到7的所有的最優的dp[i][0]求出;dp[i][0]=dp[i-1][0]+map[i][j];把行為0列為1到7的所有的最優的dp[0][j]求出; dp[0][j]=dp[0][j-1]+map[i][j];然后再由for(i=1;i<8;i++)for(j=1;j<8;j++)dp[i][j]=max{dp[i-1][j],dp[i][j-1]};其中dp[i-1][j]表示左邊走過來的,dp[i][j-1]表示上邊走下來的

總結

以上是生活随笔為你收集整理的棋盘寻宝的全部內容,希望文章能夠幫你解決所遇到的問題。

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