60分求救
查看原帖
60分求救
507892
fwl43223j楼主2021/6/13 12:49
#include <bits/stdc++.h>
using namespace std;
int a, b, m, n;
int dir[9][2] = {{0,0},{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};
bool used[15][15];
int f(int x, int y) {//到x,y的方案书 
	if(used[x][y]) return 0;
	if(x==0 && y==0) return 1;
	if(x==0) return f(x,y-1);
	if(y==0) return f(x-1, y);
	int tmp=0;
	tmp+=f(x-1, y);
	tmp+=f(x, y-1); 
	return tmp;
} 
int main() {
	cin >> m >> n >> a >> b;
	for(int i=0; i<=8; i++) {
		int nx=a+dir[i][0], ny=b+dir[i][1];
		if(nx>=0 && nx<=m && ny>=0 && ny<=n)
			used[nx][ny]=true;
	}
	cout << f(m, n);
	return 0;
}
2021/6/13 12:49
加载中...