国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)字矩陣 動(dòng)態(tài)規(guī)劃

2019-11-08 02:49:58
字體:
供稿:網(wǎng)友

數(shù)字矩陣 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic PRoblem Description

bLue 站在了一個(gè) n*m 的填有數(shù)字的矩陣中,他可以選擇從矩陣的四個(gè)頂點(diǎn)之一出發(fā),到達(dá)斜對(duì)面的頂點(diǎn)。每一步必須向靠近目的地的方向移動(dòng),且每次移動(dòng)都可以累加所在位置上的數(shù)字。 例如,bLue 選擇從左上角出發(fā),那么目的地為右下角,則他每次只能向右或向下移動(dòng)一格。 現(xiàn)在他想知道在所有的走法中,能獲得的最大累加和是多少。你能幫助他嗎?

Input

輸入數(shù)據(jù)有多組(數(shù)據(jù)組數(shù)不超過 50),到 EOF 結(jié)束。 對(duì)于每組數(shù)據(jù): 第 1 行輸入 2 個(gè)整數(shù) n, m (1 <= n, m <= 100),表示矩陣的行數(shù)和列數(shù)。 接下來 n 行,每行包含 m 個(gè)用空格隔開的整數(shù) aij (0 <= aij <= 10000),表示這個(gè)數(shù)字矩陣。

Output

對(duì)于每組數(shù)據(jù),輸出 1 行,包含 1 個(gè)整數(shù),表示 bLue 能獲得的最大的累加和。

Example Input

3 4 1 2 3 4 1 0 6 5 4 7 2 0 Example Output

28

blablabla: 學(xué)完了動(dòng)態(tài)規(guī)劃回頭看這題也不難。。 thought: 四種方向就是兩種路線,兩種答案。。

#include <bits/stdc++.h>using namespace std;int max(int a,int b){ return a>b?a:b;}int main(){ int a[110][110]; int dp1[110][110],dp2[110][110]; int n,m; int i,j; while(scanf("%d%d",&n,&m)!=EOF) { memset(dp1,0,sizeof(dp1));//初始化 memset(dp2,0,sizeof(dp2)); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { scanf("%d",&a[i][j]); } } for(i=1;i<=n;i++) { for(j=1;j<=m;j++) dp1[i][j]=max(dp1[i-1][j]+a[i][j],dp1[i][j-1]+a[i][j]); } for(i=n;i>=1;i--) { for(j=1;j<=m;j++) dp2[i][j]=max(dp2[i+1][j]+a[i][j],dp2[i][j-1]+a[i][j]); } printf("%d/n",max(dp1[n][m],dp2[1][m])); } return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中方县| 巴林左旗| 宣城市| 和田县| 会理县| 郸城县| 金山区| 贡嘎县| 九龙城区| 墨竹工卡县| 田阳县| 华池县| 全南县| 延津县| 清苑县| 会宁县| 多伦县| 克什克腾旗| 夏邑县| 巴林左旗| 张家港市| 荥经县| 自治县| 辛集市| 攀枝花市| 丹东市| 诸暨市| 察隅县| 康保县| 台东市| 合肥市| 江山市| 会东县| 双牌县| 濉溪县| 麻阳| 夏邑县| 马公市| 荆门市| 曲阳县| 南丹县|