The mook jong
Accepts: 221
Submissions: 306
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
解析:f[i]表示长度为 i 得方案数,则:
f[i]= f[i-1] + f[i-3] + 1
最后一个不放木桩 最后一个放木桩 只在最后一格放木桩
代码:
#include<cstdio>
long long a[70];
int main()
{
int i,j,k;
a[1]=1,a[2]=2,a[3]=3;
for(i=4;i<=60;i++)a[i]=a[i-1]+a[i-3]+1;
while(scanf("%d",&k)!=EOF)
printf("%I64d\n",a[k]);
return 0;
}
文章详细介绍了ZJiaQ如何通过将木棍放入后院并确保任意两个木棍之间的距离至少为2砖来最大化放置木棍的数量。采用动态规划方法解决该问题,通过递推公式计算不同长度下合法放置木棍的方案数。通过实例输入和输出展示了算法应用,并提供了解析和代码实现。

&spm=1001.2101.3001.5002&articleId=47402919&d=1&t=3&u=64f330cd2b1243529c7b4eea74cd8043)
3926

被折叠的 条评论
为什么被折叠?



