代码边上写了注释,求帮忙看看为啥连样例都过不了
查看原帖
代码边上写了注释,求帮忙看看为啥连样例都过不了
675459
laobacoder楼主2022/3/5 15:06
#include<bits/stdc++.h>
using namespace std;
# define maxn 20000
int zb[maxn][maxn];
int cnt,x2,y2;
void lx(int x2,int y2);
int main()
{
	int x1,y;
	cnt=0;
	cin>>x2>>y2>>x1>>y;
	memset(zb,0,sizeof(zb));
	zb[x1-2][y-1]=-1;zb[x1-1][y-2]=-1;
	zb[x1+2][y+1]=-1;zb[x1+1][y+2]=-1;
	zb[x1-2][y+1]=-1;zb[x1-1][y+2]=-1;
	zb[x1+2][y-1]=-1;zb[x1+1][y-2]=-1;
	zb[x1][y]=-1;
	lx(0,0);
	cout<<cnt;
	return 0;
} 
void lx(int X,int Y){
    if(X==x2 && y2==Y){
    	cnt++;return;//有一种方式则cnt++ 
	}
	if(X+1<=x2 && zb[X+1][Y]!=-1){
		X+=1;
		lx(X,Y);//向右走 
	}
	if(Y+1<=y2 && zb[X][Y+1]!=-1){
		Y+=1;
		lx(X,Y);//向下走 
	}
}
2022/3/5 15:06
加载中...