数字矩阵-双向动态规划入门
2017-01-10 19:26
204 查看
Memory Limit: 65536KB
Submit
Statistic
例如,bLue 选择从左上角出发,那么目的地为右下角,则他每次只能向右或向下移动一格。
现在他想知道在所有的走法中,能获得的最大累加和是多少。你能帮助他吗?
对于每组数据:
第 1 行输入 2 个整数 n, m (1 <= n, m <= 100),表示矩阵的行数和列数。
接下来 n 行,每行包含 m 个用空格隔开的整数 aij (0 <= aij <= 10000),表示这个数字矩阵。
数字矩阵
Time Limit: 1000MSMemory Limit: 65536KB
Submit
Statistic
Problem Description
bLue 站在了一个 n*m 的填有数字的矩阵中,他可以选择从矩阵的四个顶点之一出发,到达斜对面的顶点。每一步必须向靠近目的地的方向移动,且每次移动都可以累加所在位置上的数字。例如,bLue 选择从左上角出发,那么目的地为右下角,则他每次只能向右或向下移动一格。
现在他想知道在所有的走法中,能获得的最大累加和是多少。你能帮助他吗?
Input
输入数据有多组(数据组数不超过 50),到 EOF 结束。对于每组数据:
第 1 行输入 2 个整数 n, m (1 <= n, m <= 100),表示矩阵的行数和列数。
接下来 n 行,每行包含 m 个用空格隔开的整数 aij (0 <= aij <= 10000),表示这个数字矩阵。
Output
对于每组数据,输出 1 行,包含 1 个整数,表示 bLue 能获得的最大的累加和。Example Input
3 4 1 2 3 4 1 0 6 5 4 7 2 0
Example Output
28
Hint
Author
bLue#include<stdio.h> #include<string.h> #include<math.h> int a[101][101],b[101][101]; int main() { int m,n; while(~scanf("%d%d",&n,&m)) { for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { scanf("%d",&a[i][j]); b[i][j] = a[i][j]; } } for(int i=2;i<=m;i++) { a[1][i] += a[1][i-1]; } for(int i=2;i<=n;i++) { a[i][1] += a[i-1][1]; for(int k=2;k<=m;k++) { if(a[i-1][k]>a[i][k-1]) { a[i][k] += a[i-1][k]; } else { a[i][k] += a[i][k-1]; } } } for(int i=2;i<=m;i++) { b [i] += b [i-1]; } for(int i=n-1;i>=1;i--) { b[i][1]+=b[i+1][1]; for(int k=2;k<=m;k++) { if(b[i][k-1]>b[i+1][k]) { b[i][k] += b[i][k-1]; } else { b[i][k] += b[i+1][k]; } } } printf("%d\n",b[1][m]>a [m]?b[1][m]:a [m]) ; } return 0; } /*************************************************** User name: jk160505徐红博 Result: Accepted Take time: 12ms Take Memory: 192KB Submit time: 2017-01-10 15:46:40 ****************************************************/
相关文章推荐
- 动态规划入门-矩阵取数
- 数字矩阵 动态规划
- Numpy入门学习之(五)数组、矩阵中级操作
- HDOJ2084 数塔(动态规划入门)
- c#开发ActiveX控件及数字证书入门
- 动态规划求解矩阵连乘问题Java实现
- 动态规划入门杭电1231
- keras 入门 --手写数字识别
- keras入门 利用卷积神经网络进行手写数字识别
- Tensorflow快速入门2--实现手写数字识别
- 【动态规划15】hdu3057 Print Article(斜率优化入门)
- 《收集苹果》 动态规划入门
- 【动态规划】矩阵连乘问题
- Vuejs——(1)入门(单向绑定、双向绑定、列表渲染、响应函数)
- 动态规划趣味入门
- 【动态规划】数字三角形最大值(一)(递归)
- HTC one 数字雨矩阵 安卓开机动画
- https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL_转
- caioj1066· 动态规划入门(一维一边推4:护卫队)
- java从入门到精髓 - 数字处理类