这个问题是一个计算找到路径的方法的数量的问题。这提供了所有路径数组和N(y),M(x)(数组大小)
所以我在下面写了一段代码
总之,如果一个数组为1,则将较低的3个数组的值的总和相加、存储和上传。
010 020
101-->101
字符串
我所有的尝试都失败了,但由于我在这段代码上没有取得任何进展超过两天,所以我在这里发布了一个问题...我在这个问题中遗漏了什么?
完整的代码如下。
https://github.com/shirohebiui/BAEKJOON/blob/main/24392eng.c的
ex)
input\>
5 5
1 0 1 0 1
0 0 1 1 1
1 0 1 0 0
0 1 1 0 1
1 0 1 0 1
output\>
9
//x width = 1
if(m==1)
{
for(int i=0;i<n;i++)
{
sum+=arr[i][0];
}
if(sum == n)
sum = 1;
else
sum = 0;
printf("%lld\n", sum);
return 0;
}
//y length = 1
if(n==1)
{
for(int j=0;j<m;j++)
{
sum+=arr[0][j];
}
printf("%lld\n", sum);
return 0;
}
//x, y >=2 case
for(int i=n-2;i>=0;i--)
for(int j=0;j<m;j++)
{
if(arr[i][j]==1)
{
if(j==0) //left end
arr[i][j] = arr[i+1][j]+arr[i+1][j+1];
else if(j==m) //right end
arr[i][j] = arr[i+1][j-1]+arr[i+1][j];
else //middle
arr[i][j] = arr[i+1][j-1]+arr[i+1][j]+arr[i+1][j+1];
}
}
}
的数据
1条答案
按热度按时间yqlxgs2m1#
我修改了你的一些代码,特别是for循环和if,修改了花括号。这是预期的输出吗?
的数据
代码如下:
字符串
请注意,即使是一行if语句和循环也使用花括号通常更好,因为它增加了可读性。