正向动态规划
逆向动态规划
附逆向动态代码:
#include<stdio.h>
#include<time.h>
int a[10][10],k,g;
int lx(int i,int j)
{
if( (i==k&&j==g) || ((i-k)*(i-k)+(j-g)*(j-g)==5) )
return 0;
else if(i==0||j==0)
return 1;
else
return lx(i-1,j)+lx(i,j-1);
}
int main()
{
int n,m;
double start,finsh;
start=clock();
printf("输入目标位置\n");
scanf("%d %d",&n,&m);
printf("输入马的位置\n");
scanf("%d %d",&k,&g);
printf("有%d条路线\n",lx(n,m));
finsh=clock();
printf("用时%lf",(finsh-start)/1000.0);
return 0;
}