HDU 1708 Fibonacci String
来源:互联网 发布:solidworks有mac版吗 编辑:程序博客网 时间:2024/06/05 10:43
http://acm.hdu.edu.cn/showproblem.php?pid=1708
Fibonacci String
TimeLimit: 3000/1000 MS(Java/Others)Total Submission(s):1556
Problem Description
After little Jim learned FibonacciNumber 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] andstr[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 inpaper. So he just want to know how many times each letter appearsin 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] andstr[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 inpaper. So he just want to know how many times each letter appearsin Kth Fibonacci String . Can you help him ?
Input
The first line contains a integer Nwhich 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 bya blank.
The string in the input will only contains less than 30 low-caseletters.
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 bya blank.
The string in the input will only contains less than 30 low-caseletters.
Output
For each case,you should count how manytimes each letter appears in the Kth Fibonacci String and print outthem in the format "X:N".
If you still have some questions, look the sample outputcarefully.
Please output a blank line after each test case.
To make the problem easier, you can assume the result will in therange of int.
If you still have some questions, look the sample outputcarefully.
Please output a blank line after each test case.
To make the problem easier, you can assume the result will in therange of int.
Sample Input
1 ab bc3
Sample Output
a:1 b:3 c:2d:0 e:0 f:0 g:0 h:0 i:0 j:0 k:0 l:0 m:0 n:0 o:0 p:0 q:0 r:0 s:0 t:0u:0 v:0 w:0 x:0 y:0 z:0
Author
linle
Source
HDU 2007-Spring Programming Contest
Recommend
lcy
分析:这个题,我刚刚看还真觉得麻烦,因为有26个字母,难道要int26个?最后看了网上的解题报告才知道,原来字符就是ASCII码,通过ASCII码用类似哈希打表的方式保存即可,再加上斐波那契数列递推就可以了。
代码如下:
#include<stdio.h>
#include<string.h>
intans[50][27]; //开空间要足够大,在这地方wrong了次.50 27应该是允许的最小值了
int main()
{
int T,n,i,j;
char s1[31],s2[31];
scanf("%d",&T);
while(T--)
{
scanf("%s%s%d",s1,s2,&n);
memset(ans,0,sizeof(ans));
for(i=0;s1[i]!=NULL;i++)
ans[0][s1[i]-'a']++;
for(i=0;s2[i]!=NULL;i++)
ans[1][s2[i]-'a']++;
for(i=2;i<=n;i++)
for(j=0;j<26;j++)
ans[i][j]=ans[i-1][j]+ans[i-2][j];
for(i=0;i<26;i++)
printf("%c:%d\n",'a'+i,ans[n][i]);
printf("\n"); //Please output a blank line after each testcase.又wrong了次。。。
}
return 0;
}
#include<string.h>
intans[50][27];
int main()
{
}
阅读全文
0 0
- HDU 1708 Fibonacci String
- hdu 1021 Fibonacci Again
- HDU:3117 Fibonacci Numbers
- HDU 2137 circumgyrate the string
- HDU 2855 Fibonacci Check-up(数…
- HDU:1250 Hat's Fibonacci 这样…
- HDOJ 1021 Fibonacci Again
- hdu 1848 Fibonacci&nbs…
- HDU 1242 Rescue
- string.h string cstring 区别
- ZZULI_SummerPractice(3) HDU 1…
- HDU 1579 Function Run Fun
- HDU 1405 The Last Practice
- HDU 2050 折线分割平面
- hdu 1000 A + B Problem
- HDU 1075 What Are You Talking …
- HDOJ 1171 Big Event in HDU
- Fibonacci numbers
- HDU 1859 最小长方形
- HDU 1799 循环多少次?
- web项目部署到Tomcat上使用
- HDU 1785 You Are All Excellent
- HDU 1718 Rank
- HDU 1708 Fibonacci String
- HDU 1555 How many days?
- ffmpeg ndk
- HDU 1491 Octorber 21st
- 从 Centos 安装到TensorFlow的安装
- HDU 1405 The Last Practice
- HDU 1397 Goldbach's Conjecture
- HDU 1391 Number Steps
- 比较两个String类型日期大小