3,4wa求调
查看原帖
3,4wa求调
1428202
_I_GOT_SMOKE_楼主2024/9/3 18:30
#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n,m,a,b;
	int f[21][21];
	bool g[21][21] = {0};
	cin >> n >> m >> a >> b;
	if(a == 0 && b == 0)
	{
		cout << "0";
		return 0;
	}
	else if(a == 0)
	{
		g[a][b] = 1;
		g[a+1][b-2] = 1;
		g[a+2][b-1] = 1;
		g[a+2][b+1] = 1;
		g[a+1][b+2] = 1;
	}
	else if(b == 0)
	{
		g[a][b] = 1;
		g[a-1][b+2] = 1;
		g[a-2][b+1] = 1;
		g[a-2][b-1] = 1;
		g[a-1][b-2] = 1;
	}
	else
	{
		g[a][b] = 1;
		g[a+1][b-2] = 1;
		g[a+2][b-1] = 1;
		g[a+2][b+1] = 1;
		g[a+1][b+2] = 1;
		g[a-1][b+2] = 1;
		g[a-2][b+1] = 1;
		g[a-2][b-1] = 1;
		g[a-1][b-2] = 1;
	}
	for(int i = 0; i <= n; i++)
	{
		for(int j = 0; j <= m; j++)
		{
			if(g[i][j] == 1)
			{
				f[i][j] = 0;
			}
			else if(i == 0 && j == 0 && g[0][0] == 0)
			{
				f[i][j] = 1;
			}
			else if(j == 0 && i > 0 && g[i][0] == 0)
			{
				f[i][0] = f[i - 1][0];
			}
			else if(i == 0 && j > 0 && g[0][j] == 0)
			{
				f[0][j] = f[0][j - 1];
			}
			else if(i > 0 && j > 0)
			{
				f[i][j] = f[i - 1][j] + f[i][j - 1];
			}
		}
	}
	cout << f[n][m];
	return 0;
}
2024/9/3 18:30
加载中...