Re #1 Tle #3 #4,求助
查看原帖
Re #1 Tle #3 #4,求助
993284
lover520楼主2025/6/15 13:41
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
#define ll long long
#define swp(a,b) a^=b^=a^=b
const int N=1e5+10;
using namespace std;
ll n,m,x,y,a[50][50],num=0;
ll dx[]={0,1};
ll dy[]={1,0};
void dfs(ll x,ll y){
	if(x==n&&y==m){
		num++;
		return;
	}
	for(int i=0;i<2;i++){
		ll xx=x+dx[i];
		ll yy=y+dy[i];
		if(a[xx][yy]==1||xx<1||xx>n||yy<1||yy>m)continue;
		dfs(xx,yy);
	}
}
int main(){
	cin>>n>>m>>x>>y;
	n++,m++,x++,y++;
	a[x][y]=1;
	a[x-2][y-1]=1;
	a[x-2][y+1]=1;
	a[x+2][y-1]=1;
	a[x+2][y+1]=1;
	a[x-1][y+2]=1;
	a[x-1][y-2]=1;
	a[x+1][y+2]=1;
	a[x+1][y-2]=1;
	dfs(1,1);
	cout<<num<<endl;
	return 0;
}


2025/6/15 13:41
加载中...