hdoj 1865 1sting
来源:互联网 发布:域名备案有什么用 编辑:程序博客网 时间:2024/05/17 19:18
1sting
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4157 Accepted Submission(s): 1564
Problem Description
You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or leave the ‘1’ there. Surly, you may get many different results. For example, given 1111 , you can get 1111, 121, 112,211,22. Now, your work is to find the total number of result you can get.
Input
The first line is a number n refers to the number of test cases. Then n lines follows, each line has a string made up of ‘1’ . The maximum length of the sequence is 200.
Output
The output contain n lines, each line output the number of result you can get .
Sample Input
311111111
Sample Output
128思路:这是一道大数题,规律是斐波那契,因为要两个数相加,将这两个数都放到数组中去,因为有l=strlen(s)个数,所以用二维数组记录。代码:#include<stdio.h>#include<stdlib.h>#include<string.h>int num[300][1000];char s[1000];int main(){int i,n,l,len,k,j;scanf("%d",&n);while(n--){ scanf("%s",s);l=strlen(s);memset(num,0,sizeof(num));num[1][1]=1;num[2][1]=2;len=1;for(i=3;i<=l;i++){for(k=1;k<=len;k++){num[i][k]=num[i][k]+num[i-1][k]+num[i-2][k];if(num[i][k]>9){num[i][k+1]+=num[i][k]/10;num[i][k]%=10;}if(num[i][len+1]){len++;}}}for(i=len;i>=1;i--){printf("%c",num[l][i]+'0');}printf("\n");}return 0;}
0 0
- hdoj 1865 1sting
- HDoj-1865-1sting
- hdoj 1865 1sting
- hdoj 1865 1sting
- hdoj--1865 1sting
- HDOJ/HDU 1865 1sting(斐波拉契+大数~)
- hdoj 1865 1sting 【大数】【斐波那契】
- hdoj 1865 1sting 【大数斐波那契】
- HDOJ 1sting(第一周)
- hdu 1865 1sting
- HDU 1865 1sting
- HDUJ 1865 1sting
- hdu 1865 1sting
- hdu 1865 1sting
- HDU-1865-1sting
- hdu 1865 1sting
- HDU-1865-1sting
- HDU 1865 1sting
- 移动广告名词
- 面向对象的三大基本特征
- 【进阶android】Volley源码分析——Volley的线程
- CString中Format函数与格式输入与输出
- UVA 10420(排序检索)
- hdoj 1865 1sting
- Service在前台运行
- iOS-UI-01 UIWindow UIView
- 将对话框(窗口)设置成无边框无标题栏样式
- AngularJS 之 Factory vs Service vs Provider
- HDOJ1022(栈)
- Problem B
- 关于@class的使用
- GPS协议