HDU 1780 Fibonacci String
来源:互联网 发布:淘宝网现在卖多少钱 编辑:程序博客网 时间:2024/05/16 07:28
Fibonacci String
Problem Description
After little Jim learned Fibonacci Number in the class , he was very interest in it.
Now he is thinking about a new thing -- Fibonacci String .
He defines : str[n] = str[n-1] + str[n-2] ( n > 1 )
He is so crazying that if someone gives him two strings str[0] and str[1], he will calculate the str[2],str[3],str[4] , str[5]....
For example :
If str[0] = "ab"; str[1] = "bc";
he will get the result , str[2]="abbc", str[3]="bcabbc" , str[4]="abbcbcabbc" …………;
As the string is too long ,Jim can't write down all the strings in paper. So he just want to know how many times each letter appears in Kth Fibonacci String . Can you help him ?
Now he is thinking about a new thing -- Fibonacci String .
He defines : str[n] = str[n-1] + str[n-2] ( n > 1 )
He is so crazying that if someone gives him two strings str[0] and str[1], he will calculate the str[2],str[3],str[4] , str[5]....
For example :
If str[0] = "ab"; str[1] = "bc";
he will get the result , str[2]="abbc", str[3]="bcabbc" , str[4]="abbcbcabbc" …………;
As the string is too long ,Jim can't write down all the strings in paper. So he just want to know how many times each letter appears in Kth Fibonacci String . Can you help him ?
Input
The first line contains a integer N which indicates the number of test cases.
Then N cases follow.
In each case,there are two strings str[0], str[1] and a integer K (0 <= K < 50) which are separated by a blank.
The string in the input will only contains less than 30 low-case letters.
Then N cases follow.
In each case,there are two strings str[0], str[1] and a integer K (0 <= K < 50) which are separated by a blank.
The string in the input will only contains less than 30 low-case letters.
Output
For each case,you should count how many times each letter appears in the Kth Fibonacci String and print out them in the format "X:N".
If you still have some questions, look the sample output carefully.
Please output a blank line after each test case.
To make the problem easier, you can assume the result will in the range of int.
If you still have some questions, look the sample output carefully.
Please output a blank line after each test case.
To make the problem easier, you can assume the result will in the range of int.
Sample Input
1ab bc 3
Sample Output
a:1b:3c:2d:0e:0f:0g:0h:0i:0j:0k:0l:0m:0n:0o:0p:0q:0r:0s:0t:0u:0v:0w:0x:0y:0z:0
题意:依照斐波那契的规律处理字符串。给出前两个求第n+1个,例如3就是求第四个是什么样的,然后把每个字母出现多少次输出
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int a[52][27],t,i,j,n; char tr[32],tr2[32]; int l1,l2; scanf("%d",&t); while(t--) { memset(tr,0,sizeof(tr)); memset(tr2,0,sizeof(tr2)); scanf("%s",tr); l1=strlen(tr); scanf("%s",tr2); l2=strlen(tr2); scanf("%d",&n); memset(a,0,sizeof(a)); for(j=0;j<l1;j++) { if(tr[j]>='a'&&tr[j]<='z') a[1][tr[j]-'a']++; } for(j=0;j<l2;j++) { if(tr2[j]>='a'&&tr2[j]<='z') a[2][tr2[j]-'a']++; } for(i=3;i<=n+1;i++) { for(j=0;j<26;j++) { a[i][j]+=a[i-1][j]+a[i-2][j]; } } for(i=0;i<26;i++) { printf("%c:%d\n",'a'+i,a[n+1][i]); } printf("\n"); } return 0;}
2 0
- HDU 1780 Fibonacci String
- hdu 1708 Fibonacci String
- HDU 1708 Fibonacci String
- HDU 1708 Fibonacci String
- hdu 1708 Fibonacci String
- hdu 1708 Fibonacci String
- HDU 1708 Fibonacci String
- hdu 1708 Fibonacci String
- HDOJ(HDU) 1708 Fibonacci String
- hdu 1708 Fibonacci String (递推)
- HDU 1708 Fibonacci String(数学题)
- 杭电 HDU ACM 1708 Fibonacci String
- HDU 1708 Fibonacci String(字符串模拟)
- HDU 1708 Fibonacci String
- hdu 1708 Fibonacci String 大水题 2种大水法
- hdu 1708 Fibonacci String 斐波那契数列
- HDU 1708 Fibonacci String(字符串的处理)
- HDU 1708 Fibonacci String(斐波那契字串)
- google最新开源的tensorFlow
- POJ 3268 Silver Cow Party
- 不容错过的华为5G十二大DEMO
- 李开复给大学生的第4封信:大学四年应是这样度过
- 数据结构实验之排序五:归并求逆序数(归并排序)
- HDU 1780 Fibonacci String
- JavaScript数组合并几种方法
- tjut 3336
- 深度探索c++对象模型——读书笔记(一)
- org.xmlpull.v1.XmlPullParserException: Unexpected token
- 三分钟热度计划-软考
- js闭包
- linux 批量结束后台进程
- 表单提交,getjson