解法
查看原帖
解法
1633696
GFHYU楼主2025/1/4 12:12
#include <iostream>

using namespace std;

int main()
{
	long long f[30][30] = { 0 };
	int m[30][30] = { 0 };
	int a,b ,c,d= 0;
	scanf("%d%d%d%d", &c,&d,&a,&b);
	a += 2;
	b += 2;
	c += 2;
	d += 2;
	m[a][b] = 1;
	m[a+2][b+1] = 1;
	m[a+1][b+2] = 1;
	m[a-1][b-2] = 1;
	m[a-2][b-1] = 1;
	m[a+1][b-2] = 1;
	m[a+2][b-1] = 1;
	m[a-1][b+2] = 1;
	m[a-2][b+1] = 1;
	for (int i = 2; i < 30; i++)
	{
		f[2][i] = 1;
		f[i][2] = 1;
	}
f[2][1]=1;
	for (int i = 2; i <=c; i++)
	{
		for (int j = 2; j <=d; j++)

		{
			f[i][j] = f[i][j - 1] + f[i-1][j];
			if (m[i][j] == 1)
			{
				f[i][j] = 0;
			}
		}
	}
	
	printf("%lld", f[c][d]);
return 0;
}
2025/1/4 12:12
加载中...