国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 玛沁县| 贵州省| 临江市| 定襄县| 靖边县| 秀山| 息烽县| 南皮县| 镇康县| 民丰县| 南召县| 马龙县| 洛浦县| 田东县| 舒城县| 邹平县| 滦南县| 丘北县| 灵丘县| 铜梁县| 诸城市| 台安县| 龙陵县| 白沙| 东乡县| 临猗县| 新丰县| 保定市| 平湖市| 瑞金市| 南昌市| 阳西县| 西平县| 抚州市| 灌云县| 柯坪县| 唐山市| 怀集县| 乌恰县| 凤翔县| 通河县|