第3,4点wa了,求助
查看原帖
第3,4点wa了,求助
5577
hxy147楼主2020/11/2 21:17
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int mx[8]={-2,-2,2,2,-1,-1,1,1},my[8]={1,-1,1,-1,-2,2,-2,2},a1[2]={0,1},a2[2]={1,0},map[100][100],m1,m2,b2,b1;
long long int d[100][100]; 
int dfs(int x,int y)
{
	if(x==b1&&y==b2)
	return 1;
	if(x>b1||y>b2||map[x][y]==1)
	return 0; 
	if(d[x][y]>0)
	return d[x][y];
	if(d[x][y]==0)
	{
	d[x][y]=dfs(x+1,y)+dfs(x,y+1);
	return d[x][y];
	}
}
int main()
{
	long long int sum;
	scanf("%d %d %d %d",&b1,&b2,&m1,&m2);
	map[m1][m2]=1;
	for(int i=0;i<=7;i++)
	{
		if(m1+mx[i]>=0&&m2+my[i]>=0)
		{
			map[m1+mx[i]][m2+my[i]]=1;
		}
	}
	sum=dfs(0,0);
	printf("%lld",sum);
	system("pause");
	return 0;
 } 

看不出问题出在哪,有大佬帮帮忙嘛

2020/11/2 21:17
加载中...