📚Description:
自从可爱的小熊猫来到浙商大后便再也不想吃那些膳食纤维了,比如:竹子。所以,骞哥不得不帮助国宝寻找一些肉类来维持能量,使得小熊猫不至于饿死在全球某工商。但是,你知道的淘宝上有很多东西都是差不多的的,再然后呢
骞哥想让你帮助小熊猫找到有多少种不同的方法可以把肉食合并。
规则是这样的:
给你很多的1,相邻的两个1可以合并成2,也可以原封不动,比如给你1111你可以合并成1111,121,211,112,22。
现在就是你的任务了,请务必保护好骞哥的小熊猫。谢谢!
⏳Input:
第一行是一个数字n,接下来有n组测试数据,每行都由很多连续的1(不超过50个1)组成。
🔑Output:
输出包括n行,每行包含有多少种方法
👨🏫 Sample Input:
3
1
11
11111
💡Sample Output:
1
2
8
🙋思路
多用几组数据就可以找到规律:
1 —— 1
11——2
111——3
1111——5
11111——8
即:num[n] = num[n-1] + num[n-2]
AC Code
#include <stdio.h>
#include <string.h>
int main(){
long int num[51];
num[1]=1;
num[2]=2;
for(int i=3;i<51;i++){
num[i]=num[i-1]+num[i-2];
}
int n;
char str[51];
scanf("%d",&n);
while(n--){
scanf("%s",str);
printf("%ld\n",num[strlen(str)]);
}
}