求大佬们帮忙看一下这有什么问题
查看原帖
求大佬们帮忙看一下这有什么问题
1383657
hhhh3h1楼主2024/8/26 11:54
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
	long long arr[21][21];
	int dx[8] = {-1,-2,1,2,-2,2,-1,1};
	int dy[8] = {-2,-1,-2,-1,1,1,2,2};
	arr[0][0] = 1;
	bool horse = 1;
	long long m, n, x, y;
	scanf("%lld%lld%lld%lld", &m, &n, &x, &y);//m,n为终点坐标,x y为马的坐标
	for (int i = 0; i <=m; i++)
	{
		for (int j = 0; j <=n; j++)
		{
			if (i == 0 && j == 0)
			{
				continue;
			}
			if (i == x && j == y)
			{
				horse = 0;
			}
			for (int k = 0; k < 8; k++)
			{
				if (i == x + dx[k] && j == y + dy[k])
				{
					horse = 0;
					break;
				}
			}
			if (horse)
			{
				if (i - 1 < 0)
				{
					arr[i][j] = arr[i][j - 1];
				}
				else if (j - 1 < 0)
				{
					arr[i][j] = arr[i - 1][j];
				}
				else
				{
					arr[i][j] = arr[i][j - 1] + arr[i - 1][j];
				}
			}
		}
	}
	printf("%lld", arr[m][n]);
	return 0;
}
2024/8/26 11:54
加载中...