題目描述
pipi想要大家了解基本的動態規劃,所以它不知道從哪弄來了乙個n*m的矩陣,矩陣每個元素是乙個整數,你現在在左上角(第一行第一列),每次只能朝右或者下走到相鄰的位置,不能走出矩陣。走過的數的總和作為你的得分。現在pipi想知道它去每乙個格仔的最大得分是多少?
怎麼樣,是不是依然很簡單呢?
輸入
多組輸入。
第一行為兩個整數n,m(1<=n,m<=500)
接下來n行,每行m個數字,每個數字都在int範圍內。( ̄▽ ̄)"
輸出
對於每組資料,輸出乙個n*m的矩陣。
樣例輸入
3 4
1 2 3 4
1 2 8 2
1 1 1 1
樣例輸出
1 3 6 10
2 5 14 16
3 6 15 17
#includeusing namespace std;
int main(void)
} long long dp[501][501];
//開始位置
dp[1][1]=f[1][1];
//第一列初始化
for(int i=2;i<=n;i++)
//第一行初始化
for(int j=2;j<=m;j++)
//其他位置計算
for(int i=2;i<=n;i++)
} for(int i=1;i<=n;i++)
printf("%lld\n",dp[i][m]);
} } return 0;
}
1083 矩陣取數問題 動態規劃)
1083 矩陣取數問題 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 乙個n n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得的最大...
51nod動態規劃 矩陣取數
乙個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個數,中間用空...
動態規劃基礎篇之矩陣取數問題
題意 從矩陣的左上角出發,只能向下或者向右走,走到右下角,問經過路徑的最大和是多少。題解 在遍歷矩陣的過程中,用貪心的做法,則是每一步必須要走相鄰位置的最大值,但這樣走並不能保證到終點時累加和最大,所以應該用動態規劃的方法,保證每一步走完,當前的累加和是最大的,並用當前位置的陣列空間來儲存這個和。i...