20分,求助
查看原帖
20分,求助
225837
jimmyshi29楼主2022/9/20 22:21
# include <iostream>
using namespace std;

int f[25][25], n, m, a, b;

bool check(int x, int y)
{
	if (x == a && y == a) return 1;
	if (x == a - 2 && y == b + 1) return 1;
	if (x == a - 1 && y == b + 2) return 1;
	if (x == a + 2 && y == b - 1) return 1;
	if (x == a + 1 && y == b - 2) return 1;
	if (x == a - 2 && y == b - 1) return 1;
	if (x == a - 1 && y == b - 2) return 1;
	if (x == a + 2 && y == b + 1) return 1;
	if (x == a + 1 && y == b + 2) return 1;
	return 0;
}

int main()
{
	cin >> n >> m >> a >> b;
	for (int i = 0; i <= n; i++)
		f[i][0] = 1;
	for (int i = 0; i <= m; i++)
		f[0][i] = 1;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			if (check(i, j)) continue;
			f[i][j] = f[i - 1][j] + f[i][j - 1];
		}
	}
	cout << f[n][m] << endl;
	return 0;
}

写了一个函数判断是不是被控制的点

2022/9/20 22:21
加载中...