求助!
查看原帖
求助!
767739
seele_waiting楼主2022/9/10 19:01
#include<bits/stdc++.h>
#define N 21
using namespace std;
long long vist[N][N];
int bx,by,n,m,ans=0;
void dfs(int x,int y){
	if(x==n&&y==m){
		ans++;
		return;
	}
	if(x>=0&&x<=n&&y>=0&&y<=m&&!vist[x][y]){
		vist[x][y]=1;
		dfs(x+1,y);
		dfs(x,y+1);
		vist[x][y]=0;
	}
}
int main(){
    cin>>n>>m>>bx>>by;
    vist[bx][by] = 1;
    vist[bx-2][by-1] = 1;
    vist[bx-1][by-2] = 1;
    vist[bx+1][by-2] = 1;
    vist[bx+2][by-1] = 1;
    vist[bx-2][by+1] = 1;
    vist[bx-1][by+2] = 1;
    vist[bx+1][by+2] = 1;
    vist[bx+2][by+1] = 1;
	dfs(0,0);
    printf("%d",ans);
 return 0;
}

2022/9/10 19:01
加载中...