HDU1708 Fibonacci String 动态规划
来源:互联网 发布:奥尼尔vs霍华德数据 编辑:程序博客网 时间:2024/06/18 09:57
题目大意:给定两个字符串s1和s2,以及一种给定的关系:s(n)=s(n-1)+s(n-2),让求出s(n)种每种字母的数量。
因为只让求出每种字母的数量,所以我们没必要求出s(n)具体是什么,只需把s(n-1)和s(n-2)中每种字母的数量纪录下来,然后相加即可。
#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int MAX=40;int num[MAX*2][MAX];void init(char a[],char b[]){ int i,len1,len2; len1=strlen(a); len2=strlen(b); for(i=0;i<len1;i++) num[0][a[i]-'a']++; for(i=0;i<len2;i++) num[1][b[i]-'a']++;}int main(){ int k,t; char str1[MAX],str2[MAX]; while(scanf("%d",&t)!=-1) while(t--) { scanf("%s%s%d",str1,str2,&k); memset(num,0,sizeof(num)); init(str1,str2); int i,j; if(k==0) for(i=0;i<26;i++) printf("%c:%d\n",i+'a',num[0][i]); else if(k==1) for(i=0;i<26;i++) printf("%c:%d\n",i+'a',num[1][i]); else { for(i=2;i<=k;i++) for(j=0;j<MAX;j++) num[i][j]=num[i-1][j]+num[i-2][j]; for(i=0;i<26;i++) printf("%c:%d\n",i+'a',num[k][i]); } printf("\n"); } return 0;}
0 0
- HDU1708 Fibonacci String 动态规划
- hdu1708(Fibonacci String)
- HDU1708 Fibonacci String【水题】
- HDU1708 Fibonacci String
- 动态规划-Fibonacci序列
- Fibonacci 动态规划
- hdu1708
- Fibonacci数列简单动态规划
- 【jzoj3850】【Fibonacci进制】【动态规划】
- 动态规划-Number String
- Scramble String 动态规划
- 算法实现篇之动态规划-Fibonacci
- 动态规划法实现fibonacci数列求解
- hihocoder 第113周 Fibonacci(动态规划)
- Fibonacci数列的动态规划思想
- Fibonacci数列的求解之动态规划
- 利用动态规划求解Fibonacci数列
- HDU 4681 String (动态规划)
- NSFileManager扩展
- Updater-script升级脚本阅读指南
- 浅谈数据库中的触发器
- 保护企业网络的SSL VPN协议
- 【Android】禁止锁屏,保持高亮
- HDU1708 Fibonacci String 动态规划
- 苹果原生地图API封装
- 关于cocos2dx客户端程序的自动更新解决方案
- Type introspection
- Hadoop MapReduce高级编程
- 路由器 mac 和 bssid是一个吗
- Windows下MySQL 5.6安装及配置详细图解
- 模块化编码借鉴
- 使用中国VPN进行加密浏览