动态规划解决矩阵左上角到右下角距离最大
来源:互联网 发布:国家兴衰周期表知乎 编辑:程序博客网 时间:2024/05/17 22:13
- /******************************************************************
- funciton:给定一个数字矩阵求从左上角到右下角距离最大。输出最大距离值。
- condition:路径只能是往右与往下走。
- Example
- Input:
- 2 2
- 0 6
- 3 4
- 3 2
- 8 1 9
- 2 2 9
- Output:
- 10
- 27
- Method
- 给定一个距离矩阵用来存放从左上角到该位置的最大距离值。
- 每输入一个值就计算该点的最大距离值。可以知道,该点的最大
- 距离值就是他的上方和左方两者之间最大的距离值。
- ******************************************************************/
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- #include <malloc.h>
- int main(void)
- {
- int n;
- int m;
- int i;
- int j;
- int *a;// 数字矩阵
- int *d;// 距离矩阵
- srand((unsigned int)time(NULL));// 随机种子
- while(scanf("%d%d", &n, &m))
- {
- if (m<=n&&n)
- {
- a = (int*)malloc(sizeof(int)*n*m);
- d = (int*)malloc(sizeof(int)*n*m);
- for (i=0; i<m; i++)
- {
- for (j=0; j<n; j++)
- {
- a[i*n+j] = rand()%10;
- if (i==0 && j==0)
- d[i+j] = a[i+j];// 距离矩阵左上角第一个元素
- else if (i==0 &&j!=0)
- {
- d[i*n+j] = d[i*n+j-1]+a[i*n+j];// 第一行的数字
- }
- else if (i!=0&&j==0)
- {
- d[i*n+j] = d[(i-1)*n+j] + a[i*n+j];// 第一列的数字
- }
- else
- {
- d[i*n+j]= d[(i-1)*n+j] > d[i*n+j-1] ? d[(i-1)*n+j]: d[i*n+j-1];
- d[i*n+j] += a[i*n+j];// 中间的数字都取上方和左方两者最大的
- }
- printf("%3d", a[i*n+j]);
- }// end for
- printf("/n");
- }//end for
- }// end if
- else
- return 0;
- printf("%d", d[n*m-1]);
- free(a);
- free(d);
- }// end while
- return 0;
- }
- 动态规划解决矩阵左上角到右下角距离最大
- 动态规划解决矩阵左上角到右下角和最大
- 动态规划解决矩阵左上角到右下角距离最大(转 http://blog.csdn.net/ycc892009/article/details/6523167)
- 动态规划求解从矩阵左上角到右下角的最大受益问题
- 求矩阵左上角到右下角所经过点的和的最大距离和路径
- 编程题:动态规划---从左上角到右下角的价值最大的路径
- 计算一个矩阵从左上角到右下角和最大
- 求矩阵左上角到右下角路径的最大价值
- DP 动态规划 Problem H 1008 左上角到右下角
- 从矩阵左上角到右下角的最大值
- 利用动态规划,求数值矩阵左上角至右下角最小路径
- 【DP】在矩阵中,选择一条从左上角到右下角、经过数字之和最大的路径
- 计算一个矩阵从左上角到右下角和最大(DFS)
- 动态规划解决最大子矩阵问题
- 矩阵从左上角到右下角的最优路径使得经过路径上的权值和最大(最小)
- 输出从矩阵左上角到右下角的所有路径
- 矩阵中从左上角到右下角的路径条数
- 编程-从矩阵左上角走到右下角
- 轻松破解Syskey加密
- 数据库操作类
- const与readonly
- malloc函数的问题
- Imagine Cup 给我们带来了什么
- 动态规划解决矩阵左上角到右下角距离最大
- 一些操作VC
- VC 数据库相关
- spring day1
- spring day2
- IO流的基本练习--打印100以内的素数
- 用C语言实现常用排序算法
- DNS
- 传智播客.Net 0基础学编程网上课堂12号开讲了,想学习编程的朋友可以看一下