递归动态规划.cpp

来自「这里面是很多经典算法的源代码」· C++ 代码 · 共 38 行

CPP
38
字号
#include<stdio.h>
#define m 5
int data[m][m]={
						{9},
						{12,15},
						{10,6,8},
						{2,18,9,5},
						{19,7,10,4,16}
					};
int dp[m][m];
int bigger(int a,int b)
{
	return a>b?a:b;
}
main()
{
	int answer(int,int);
	int max=answer(0,0);
	printf("%d",max);
	return 0;
}
int answer(int i,int j)
{
	if(dp[i][j])
	{
		return dp[i][j];
	}
	if(i==m-1)
	{
		dp[i][j]=data[i][j];
		return dp[i][j];
	}
	else
	{
		dp[i][j]=bigger(answer(i+1,j),answer(i+1,j+1))+data[i][j];
		return dp[i][j];
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?