40分求助
查看原帖
40分求助
954973
jyz2012楼主2023/7/5 19:47
#include <iostream>
using namespace std;
int ans,n,m,bx,by;
bool visited[25][25];
void dfs(int x,int y){
	if(x==n&&y==m){
		ans++;
		return;
	}
	if(x>=0&&x<=n&&y>=0&&y<=m&&!visited[x][y]){
		visited[x][y]=1;
		dfs(x+1,y);
		dfs(x,y+1);
		visited[x][y]=0;
	}
}
int main(){
	cin>>n>>m>>bx>>by;
	visited[bx][by]=1;
	visited[bx+2][by+1]=1;
	visited[bx+1][by+2]=1;
	visited[bx-2][by+1]=1;
	visited[bx-1][by+2]=1;
	visited[bx+2][by-1]=1;
	visited[bx+1][by-2]=1;
	visited[bx-2][by-1]=1;
	visited[bx-1][by-2]=1;
	dfs(0,0);
	cout<<ans<<endl;
	return 0;
}
2023/7/5 19:47
加载中...