大神们,帮忙看看哪里错了
查看原帖
大神们,帮忙看看哪里错了
746038
Minecraft__YYDS楼主2022/7/18 15:32
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

int xi[9] = { 0,-2,-1,1,2,2,1,-1,-2 };
int yi[9] = { 0,1,2,2,1,-1,-2,-2,-1 };
long long a[21][21];
long long f[21][21];
long long n, m;
long long x, y;

int main()
{
	cin >> n >> m >> x >> y;

	for (int i = 0; i <= 8; i++)
	{
		int xx;
		int yy;
		xx = x + xi[i];
		yy = y + yi[i];
		f[xx][yy] = 1;
	}

	a[0][0] = 1;

	for (int i = 1; i <= n; i++)
	{
		if (f[i][0] == 0)
		{
			a[i][0] = 1;
		}
		else
		{
			break;
		}
	}

	for (int i = 1; i <= n; i++)
	{
		if (f[i][0] == 0)
		{
			a[i][0] = 1;
		}
		else
		{
			break;
		}
	}

	for (int i = 1; i <= m; i++)
	{
		if (f[0][i] == 0)
		{
			a[0][i] = 1;
		}
		else
		{
			break;
		}
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			if (f[i][j] == 0)
			{
				a[i][j] = a[i - 1][j] + a[i][j - 1];
			}
		}
	}

	cout << a[n][m];
	return 0;
}
2022/7/18 15:32
加载中...