0分求助
查看原帖
0分求助
119124
iamzq楼主2020/9/5 17:09

好久没做题了,结果给我来个开门红

测试点下过来验证了一下是对的,但评测说我是错的

#include<bits/stdc++.h>
using namespace std;
int f[21][21];
int x, y, n, m;
int pd (int a, int b)
{
	if (a - 2 == x && b - 1 == y || a + 2 == x && b - 1 == y ||a - 2 == x && b + 1 == y ||a + 2 == x && b + 1 == y ||a - 1 == x && b - 2 == y ||a + 1 == x && b - 2 == y ||a - 1 == x && b + 2 == y ||a + 1 == x && b + 2 == y ) return 1;
		return 0;
}
int main()
{
	scanf("%d%d%d%d", &n, &m, &x, &y);
	f[0][0] = 1;
	for (int i = 0; i <= n; i++)
		for (int j = 0; j <= m; j++)
		{
			if (i == x && j == y || pd(i, j) == 1 || i == 0 && j == 0) continue;
			f[i][j] = f[i - 1][j] + f[i][j - 1];
		}	
	printf("%d", f[n][m]);
}

2020/9/5 17:09
加载中...