#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int max(int a, int b){
int tmp;
tmp = a<b?b:a;
return tmp;
}
int findMaxValue(int **p,int n, int m){
int i,j;
//先求第一行的累加值
for(i=0;i<n-1;i++)
p[0][i+1]+=p[0][i];
//再求第一列的累加值
for(i=0;i<m-1;i++)
p[i+1][0]+=p[i][0];
//每次选取左边或者上边两个数中最大值与当前值累加
for(i=1;i<m;i++){
for(j=1;j<n;j++){
p[i][j]+= max(p[i-1][j],p[i][j-1]);
}
}
//右下角的值为最大值
return p[m-1][n-1];
}
int main(int argc, char* argv[])
{
int n,m,tmp;
int i,j;
int **p;
//假定输入是从文件输入,那么EOF判断测试数据输入结束
while(fscanf(stdin,"%d%d",&n,&m) != EOF){
//创建二维数组
p = (int **)malloc(m*sizeof(int *));
for(i=0;i<m;i++)
p[i] = (int *)malloc(n*sizeof(int));
printf("n: %d, m: %d\n",n,m);
//将测试数据填入二维数组
for(i=0;i<m;i
ACM输入问题以及矩阵最大路径累加和
最新推荐文章于 2022-08-09 20:41:44 发布