求助!40分 #1#4 RE; #3 TLE
查看原帖
求助!40分 #1#4 RE; #3 TLE
1028465
Jiushao楼主2023/7/3 16:21
#include<stdio.h>
#define int long long
int n,m,x0,y0,a[21][21],v[21][21],sum;
void DFS(int x,int y){
	if(x==n&&y==m){
		sum=sum+1;
		return; 
	}
	if(a[x+1][y]==1&&v[x+1][y]==1&&x+1<=n){
		v[x+1][y]=0;
		DFS(x+1,y);
		v[x+1][y]=1;
	}
	if(a[x][y+1]==1&&v[x][y+1]==1&&y+1<=m){
		v[x][y+1]=0;
		DFS(x,y+1);
		v[x][y+1]=1;
	}
	return;
}
signed main(){
	int i,j;
	scanf("%d %d %d %d",&n,&m,&x0,&y0);
	for(i=0;i<21;i++){
		for(j=0;j<21;j++){
			a[i][j]=1;
			v[i][j]=1;
		}
	}
	a[x0][y0]=a[x0-2][y0+1]=a[x0-2][y0-1]=a[x0-1][y0+2]=a[x0-1][y0-2]=a[x0+1][y0+2]=a[x0+1][y0-2]=a[x0+2][y0+1]=a[x0+2][y0-1]=0;
	DFS(0,0);
	printf("%d",sum);
	return 0;
}
2023/7/3 16:21
加载中...