比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 跳马问题 最终得分 100
用户昵称 jacon 运行时间 0.014 s
代码语言 C 内存使用 0.34 MiB
提交时间 2014-11-04 20:19:53
显示代码纯文本
#include<stdio.h>  
#include<string.h>    
int dp[110][110];  
int m,n;  
int solve(int i,int j)
{  
    if(i<1||j<1||i>m||j>n) 
		return 0;  
    if(i==1&&j==1) 
		return 1;  
    if(dp[i][j]>0)  
		return dp[i][j];  
    dp[i][j]=solve(i-2,j-1)+solve(i+2,j-1)+solve(i-1,j-2)+solve(i+1,j-2);  
    return dp[i][j];  
}  
int main()
{   
	freopen("horse.in","r",stdin);
	freopen("horse.out","w",stdout); 
    while(fscanf(stdin,"%d%d",&m,&n)!=EOF)
	{  
    	memset(dp,0,sizeof(dp));  
    	fprintf(stdout,"%d\n",solve(m,n));  
    }  
    fclose(stdin);
	fclose(stdout);
    return 0;  
}