分析过程:
考虑第N格,如果N-1排好了,第N只有3个1X1一种排法,如果N-2排好了,有3种排法,有1种在N-1的情况包括了,
所以F(N) = F(N-1) + 2F(N-2)
代码如下:
#include <stdio.h>
int main()
{
int n,i,c;
double a[31];
a[0]=1;
a[1]=1;
a[2]=3;
for (i=3; i<=30; i++) {
a[i]=a[i-1]+2*a[i-2];
}
scanf("%d",&c);
while (c--) {
scanf("%d",&n);
printf("%.0f\n",a[n]);
}
return 0;
}
本文探讨了一维排列组合问题,并提供了一种递推算法来解决特定的排列问题。通过建立递推公式 F(N) = F(N-1) + 2F(N-2),并给出实现代码,有效地解决了该问题。
4456

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



