0分求调
查看原帖
0分求调
1365550
zou_yao_hua楼主2025/8/30 17:22
#include <bits/stdc++.h>
using namespace std;
int a,b,c,d;
int vis[25][25],dp[30][30];
int fx[9] = {2,1,-1,-2,-2,-1,1,2};
int fy[9] = {1,2,2,1,-1,-2,-2,-1};
int main(){
	cin >> a >> b >> c >> d;
	vis[c][d] = 1;
	for(int i = 1;i <= 8;i++){
		if(c + fx[i] >= 1 && d + fy[i] >= 1){
			vis[c + fx[i]][d + fy[i]] = 1;
		}
	}
	dp[1][1] = 1;
	for(int i = 1;i <= a + 1;i++){
		for(int j = 1;j <= b + 1;j++){
			if(vis[i][j] == 0) dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
			else dp[i][j] = 0;
		}
	}
	cout << dp[a][b];
	return 0;
}
2025/8/30 17:22
加载中...