乙個n*n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。
例如:3 * 3的方格。
1 3 3
2 1 3
2 2 1
能夠獲得的最大價值為:11。
input
第1行:n,n為矩陣的大小。(2 <= n <= 500)
第2 - n + 1行:每行n個數,中間用空格隔開,對應格仔中獎勵的價值。(1 <= n[i] <= 10000)
output
輸出能夠獲得的最大價值。
input示例
3 1 3 3
2 1 3
2 2 1
output示例
11以後要認真學動態規劃!所以從基礎的開始做很重要!
知識基礎決定上層建築哈哈!
為了避免迴圈裡 面全是if else,先把第一行第一列拿出來單獨存下,
於是 動態轉移方程就是 dp[i][j]=max(dp[i-1][j],dp[i][j-1])+a[i][j]
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long
int ll;
const
int maxl(1e6);
ll dp[510][510];
ll a[510][510];
ll max(ll a,ll b)
int main()
51Nod 1083 矩陣取數問題
乙個n n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得的最大價值為 11。input 第1行 n,n為矩陣的大小。2 n 500 第2 n 1行 每行n個數,中間用空...
51nod 1083 矩陣取數問題
1083 矩陣取數問題 基準時間限制 1 秒 空間限制 131072 kb 分值 5難度 1級演算法題 乙個n n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得的最大價...
51nod 1083 矩陣取數問題
基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 乙個n n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得的最大價值為 11。input...