求个大佬帮忙看看哪里有问题,有两组数据过不了
查看原帖
求个大佬帮忙看看哪里有问题,有两组数据过不了
1231635
wudiddhjx楼主2023/12/6 09:34
int main() {
	int m, n, p, q;
	scanf("%d%d%d%d", &m, &n, &p, &q);
	int a[24][24] = { 0 }, s[24][24] = { 0 };//a判断是否是控制点,s到这一点的步数
	int i,j;
	m = m + 2;//防止越界
	n = n + 2;
	p = p + 2;
	q = q + 2;
	s[2][3] = 1;//设定初始值
	s[3][2] = 1;
	a[p][q] = a[p - 1][q - 2] = a[p - 1][q + 2] = a[p - 2][q - 1] = a[p - 2][q + 1] = a[p + 1][q - 2]
		= a[p + 1][q + 2] = a[p + 2][q - 1] = a[p + 2][q + 1] = 1;//找到控制点
	for (i = 2; i <= m; i++) {
		for (j = 2; j <= n; j++) {
			if (a[i - 1][j] != 1)s[i][j]+= s[i - 1][j];
			if (a[i][j - 1] != 1)s[i][j] += s[i][j - 1];//如果不是控制点则把上一步的步数加上来
			//printf("%d*", a[i][j]);
			//printf("%d ", s[i][j]);
			

		}
		//printf("\n");
	}
	printf("%d", s[m][n]);
}```
2023/12/6 09:34
加载中...