#include<limits.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MIN_VAL(x, y) ((x) > (y) ? (y) : (x))
#define MAX_LEN 10
int **record;
// 从最右下角的节点开始动态规划,递归过程,把递归过程记录下来即为动态规划。
int MinSum(int** grid, int gridSize, int* gridColSize, int i, int j)
{
int result;
for(int i = gridSize - 1; i >= 0; i--)
{
for (int j = *gridColSize - 1; j >= 0; j--)
{
if ((i == gridSize - 1) && (j == *gridColSize - 1))
{
result = grid[i][j];
}
else if (i == gridSize - 1)
{
result = record[i][j + 1] +