社区讨论

求助!样例数据输出是正确的

P1002[NOIP 2002 普及组] 过河卒参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lo7s5aj1
此快照首次捕获于
2023/10/27 06:52
2 年前
此快照最后确认于
2023/10/27 06:52
2 年前
查看原帖
求助各位大佬!样例数据如输入得到的结果是正确的,但是有报错!
C
#include<stdio.h>
#include<math.h>
int main()
{
	int n, m, h1, h2, i, j;
	scanf_s("%d%d%d%d", &n, &m, &h1, &h2);
	long long a[30][30] = { 0 };
	for (i = 0; i <= n; i++)
	{
		for (j = 0; j <= m; j++)
		{
			if (i == 0 && j != 0) {
				a[i][j] = a[i][j - 1];
				continue;
			}
			if (i != 0 && j == 0) {
				a[i][j] = a[i - 1][j];
				continue;
			}
			if (i == 0 && j == 0) {
				a[i][j] = 1;
				continue;
			}
			if ((fabs(i - h1) == 2 && fabs(j - h2) == 1) || (fabs(i - h1) == 1 && fabs(j - h2) == 2)) {
				continue;
			}
			if (i == h1 && j == h2) {
				continue;
			}
			a[i][j] = a[i - 1][j] + a[i][j - 1];
		}
	}
	for (i = 0; i <= n; i++)
	{
		for (j = 0; j <= m; j++)
		{
			if (i == n && j == m)break;
			a[i][j] = 0;
		}
	}
	printf("%lld ", a[n][m]);
	return 0;
}```

回复

6 条回复,欢迎继续交流。

正在加载回复...