#include <iostream>
using namespace std;
void Grial(int (*a)[5],int (*b)[5],int x, int y)
{
if(x>=5 || y>=5)return ;
int i = x;
int j = y;
if(i-1>=0 && j-1>=0)
b[i][j] = min(b[i-1][j],b[i][j-1])+1;
if(i-1>=0 && j-1<0)
b[i][j]=b[i-1][j]+1;
if(i-1<0 && j-1>=0)
b[i][j]=b[i][j-1]+1;
Grial(a,b,x+1,y);
Grial(a,b,x,y+1);
}
int Grial(int (*a)[5],int n,int m)
{
int b[5][5]={0};
int i = 0;
int j = 0;
Grial(a,b,0,0);
return b[4][4];
}
int main()
{
int a[][5]={1,1,1,1,1,
1,1,1,1,1,
1,1,1,1,1,
1,1,1,1,1,
1,1,1,1,1};
cout<<Grial(a,5,5)<<endl;
return 0;
}
笔试题:动态规划之求数组中的最长路径
最新推荐文章于 2022-10-04 11:42:42 发布