51Nod-1083 矩阵取数问题【DP】
来源:互联网 发布:vb for循环退出 编辑:程序博客网 时间:2024/06/05 05:39
1083 矩阵取数问题
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
一个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示例
31 3 32 1 32 2 1
Output示例
11
问题链接:51Nod-1083 矩阵取数问题
问题分析:这个题的关键是递推公式,递推公式是dp[i][j]= max(dp[i-1][j],dp[i][j-1])+a[i][j]。
程序说明:这里给出两种程序,一种按照标准dp来做,另外一种使用省存储的方式。
题记:(略)参考链接:(略)
AC的C++程序(省存储)如下:
#include <iostream>#include <stdio.h>using namespace std;const int N = 500;int a[N][N];int main(){ int n; while(scanf("%d", &n) != EOF) { for(int i=0; i<n; i++) for(int j=0; j<n; j++) scanf("%d", &a[i][j]); for(int i=1; i<n; ++i) { a[0][i] += a[0][i - 1]; a[i][0] += a[i - 1][0]; } for(int i=1; i<n; ++i) for(int j=1; j<n; ++j) a[i][j] = max(a[i-1][j], a[i][j-1])+ a[i][j]; printf("%d\n", a[n - 1][n - 1]); } return 0;}
AC的C++程序如下:
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;const int N = 500;int a[N+1][N+1], dp[N+1][N+1];int main(){ int n; while(scanf("%d", &n) != EOF) { for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) scanf("%d", &a[i][j]); memset(dp, 0, sizeof(dp)); for(int i=1; i<=n; ++i) for(int j=1; j<=n; ++j) dp[i][j] = max(dp[i-1][j], dp[i][j-1])+ a[i][j]; printf("%d\n", dp[n][n]); } return 0;}
阅读全文
0 0
- 51Nod 1083 矩阵取数问题(简单DP)
- 51nod 1084+1083 矩阵取数问题 dp
- 【51Nod】1083 - 矩阵取数问题(dp)
- 【51Nod】-1083 矩阵取数问题(DP)
- 51Nod 1083 矩阵取数问题 (DP)
- 51nod 1083 矩阵取数问题(基础dp)
- 51Nod-1083 矩阵取数问题【DP】
- 51Nod 1083 矩阵取数问题(基础DP)
- 51NOD 1083 矩阵取数问题
- 51nod 1083 矩阵取数问题
- 51nod 1083 矩阵取数问题
- 51nod-1083 矩阵取数问题
- 51nod 1083 矩阵取数问题
- 51Nod 1083 矩阵取数问题
- 51nod 1083 矩阵取数问题
- 51Nod 1083 矩阵取数问题
- 51Nod 1083 矩阵取数问题
- 【51Nod】1083 矩阵取数问题
- 华为设备命令控制台的快捷键
- Kafka基本知识二 replication和elect new leader
- php 冒泡排序
- php 快排
- 如何自己开发一款js或者jquery插件
- 51Nod-1083 矩阵取数问题【DP】
- 选择排序
- php 插入排序
- Spring-在IoC中装配Bean系列文章导读
- wamp环境搭建
- Spring-Spring配置概述
- GitHub的使用之新建与更新代码
- 51Nod-1087 1 10 100 1000【模拟】
- 掀开方正黑幕,此事正在进行中