60分求助!!!
查看原帖
60分求助!!!
965334
1_1_1_1_1_1_楼主2023/8/12 19:35

dala们帮我看看

谢谢

#include<bits/stdc++.h>

using namespace std;

int a[21][21];
int f[21][21];

int dr[8] = {-2, -1, 1, 2, 2, 1, -1, -2};
int dc[8] = {1, 2, 2, 1, -1, -2, -2, -1};

int row, col, n, m;

int main()
{
	int i, j;
	int r, c;
	
	cin >> n >> m >> row >> col;
	f[0][0] = 1;
	a[row][col] = 1;
	for(i = 0; i < 8; i++)
	{
		r = row + dr[i];
		c = col + dc[i];
		if(r >= 0 && r <= n && c >= 0 && c <= m)
		{
			a[r][c] = 1;
		}
	}
	for(i = 1; i <= n; i++)
	{
		if(a[i][0] == 0)
		{
			f[i][0] = f[i - 1][0];
		}
	}
	for(i = 1; i <= m; i++)
	{
		if(a[0][i] == 0)
		{
			f[0][i] = f[0][i - 1];
		}
	}
	for(i = 1; i <= n; i++)
	{
		for(j = 1; j <= m; j++)
		{
			if(a[i][j] == 0)
			{
				f[i][j] = f[i - 1][j] + f[i][j - 1];
			}
		}
	}
	cout << f[n][m];
}
2023/8/12 19:35
加载中...