hdu 1708 Fibonacci String (递推)

点击打开链接

ps:先推出字符串,然后再计算字母个数,会因字符串太长而wrong,应直接用字母的个数进行递推!

#include<stdio.h>
#include<string.h>
int ans[55][27];
int main()
{
	int n,i,j,t;
	char s1[31],s2[33];
	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");
	}
	return 0;
}




你可能感兴趣的:(hdu 1708 Fibonacci String (递推))