題目描述:現在有乙個8*8的棋盤,上面放著64個價值不等的禮物,每個小的棋盤上面放置乙個禮物(禮物的價值大於0小於1000),乙個人的初始位置在棋盤的左上角,每次他只能向下或向右移動一步,並拿走對應棋盤上的禮物,結束位置在棋盤的右下角,請設計乙個演算法使其能夠獲得最大價值的禮物。
輸入:輸入包含多個測試用例,每個測試用例共有8行8列,第i行的第j列的數字代表了該處棋盤上的禮物的價值,每兩個數之間用空格隔開。
輸出:對於每組測試用例,請輸出你能夠獲得最大價值的禮物。
樣例輸入:
2 8 15 1 10 5 19 193 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
樣例輸出:
194
解題思路:這個一道比較簡單的dp問題,因為題目規定了移動的方向只能是向下或者向右。假設dp[i][j]表示到達i,j處可以獲得的最大的價值,則dp[i][j] = max + arr[i][j]。
ac**:
#include #include int arr[8][8];
int dp[8][8];
int mymax(int a,int b)
int main()
for(int i = 1; i < 8; i++)
} memset(dp,0,sizeof(dp));
dp[0][0] = arr[0][0];
for(int i = 1; i < 8; i++)
for(int i = 1; i < 8; i++)
for(int i = 1; i < 8; i++)
} printf("%d\n",dp[7][7]);
} return 0;
}
Jobdu 題目1529 棋盤尋寶
題目描述 現在有乙個8 8的棋盤,上面放著64個價值不等的禮物,每個小的棋盤上面放置乙個禮物 禮物的價值大於0小於1000 乙個人的初始位置在棋盤的左上角,每次他只能向下或向右移動一步,並拿走對應棋盤上的禮物,結束位置在棋盤的右下角,請設計乙個演算法使其能夠獲得最大價值的禮物。輸入 輸入包含多個測試...
九度OJ 1091棋盤遊戲
有乙個6 6的棋盤,每個棋盤上都有乙個數值,現在又乙個起始位置和終止位置,請找出乙個從起始位置到終止位置代價最小的路徑 1 只能沿上下左右四個方向移動 2 總代價是沒走一步的代價之和 3 每步 從a,b到c,d 的代價是c,d上的值與其在a,b上的狀態的乘積 4 初始狀態為1 每走一步,狀態按如下公...
九度 1532 棋盤尋寶擴充套件 揹包方案統計
題目描述 現在有乙個8 8的棋盤,上面放著64個不同價值的禮物,每個小的棋盤上面放置乙個禮物 禮物的價值大於0小於100 乙個人初始位置在棋盤的左上角,每次他只能向下或向右移動一步,並拿走對應棋盤上的禮物,結束位置在棋盤的右下角。從棋盤的左上角移動到右下角的時候的,每次他只能向下或向右移動一步,並拿...