笔试题:动态规划之求数组中的最长路径

来源:互联网 发布:经济和信息化数据平台 编辑:程序博客网 时间:2024/05/16 23:36
#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;}
0 0