题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1708
1 ab bc 3
a:1 b:3 c:2 d: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:0 u:0 v:0 w:0 x:0 y:0 z:0
PS:
记录斐波那契的数组当时傻逼了也开成了26,导致WA了几把都找不到原因!
图样图森破!
代码如下:
#include <cstdio>
#include <cstring>
int main()
{
int t;
char s0[30], s1[30];
int k, a0[26], a1[26];
int c[50];
c[0] = 0, c[1] = 1;
for(int i = 2; i <= 50; i++)
{
c[i] = c[i-1] + c[i-2];
}
scanf("%d",&t);
while(t--)
{
memset(s0,0,sizeof(s0));
memset(s1,0,sizeof(s1));
memset(a0,0,sizeof(a0));
memset(a1,0,sizeof(a1));
scanf("%s%s%d",s0,s1,&k);
for(int i = 0; i < strlen(s0); i++)
{
int tt = s0[i]-'a';
a0[tt]++;
}
for(int i = 0; i < strlen(s1); i++)
{
int tt = s1[i]-'a';
a1[tt]++;
}
for(int i = 0; i < 26; i++)
{
if(k == 0)
{
printf("%c:%d\n",'a'+i,a0[i]);
}
else
printf("%c:%d\n",'a'+i,a0[i]*c[k-1]+a1[i]*c[k]);
}
printf("\n");
}
return 0;
}
HDU 1708 Fibonacci String(数学题)
原文地址:http://blog.csdn.net/u012860063/article/details/39298029