http://gdutcode.sinaapp.com/problem.php?cid=1056&pid=2
简单递推 在斐波那契数列的基础上的递推 一次走三层楼梯时
AC代码:
#include <stdio.h>
int FIB[50];
int main (){
FIB[1]=1;
FIB[2]=2;
for (int i=3;i<=30;i++){
FIB[i]=FIB[i-1]+FIB[i-2];
}
FIB[3]+=1;
FIB[4]+=2;
int k=2;
for (int i=1,j=5;i<=30;i++,j++){
FIB[j]+=(k+i*3);
k=k+i*3;
}
int t;
scanf ("%d",&t);
int num[55];
while (t--){
int n;
scanf ("%d",&n);
for (int i=1;i<n;i++){
scanf ("%d",&num[i]);
}
int sum=1;
for (int i=1;i<n;i++){
sum=(sum*FIB[num[i]] ) %10007;
}
printf ("%d\n",sum);
}
return 0;
}