样例过了,但全wa
查看原帖
样例过了,但全wa
1442599
R_K_C_Sep_30楼主2025/8/2 10:14
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 5000
int ex,ey,x,y,sum;
int vis[N][N];
int dx[4] = {1,0};
int dy[4] = {0,1};
void dfs(int sx,int sy){
	if(sx == ex && sy == ey){
		sum++;
		return;
	}
	for(int i = 0;i<2;i++){
		int nx = dx[i]+sx;
		int ny = dy[i]+sy;
		if(nx >= 0 && ny >= 0 && nx <= 8 && ny <= 8 && !vis[nx][ny]){
			vis[nx][ny] = 1;
			dfs(nx,ny);
			vis[nx][ny] = 0;
		}
	}
}
signed main() {
	cin>>ex>>ey>>x>>y;
	vis[x][y] = vis[x-2][y+1] = vis[x-1][y+2] = vis[x+1][y+2] = vis[x+2][y+1] = vis[x+2][y-1] = vis[x+1][y-2] = vis[x-1][y-2] = vis[x-2][y-1] = 1;
	dfs(0,0);
	cout<<sum;
	return 0;
}
2025/8/2 10:14
加载中...