标签:des blog http io ar os sp for strong
Description
Input
Output
Sample Input
Sample Output
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int n,m; double p[26]; char buff[1001]; double dp[1200][30]; int c[30][30]; int main(){ while(scanf("%d%d",&n,&m)==2&&n&&m){ memset(p,0,sizeof(p)); for(int i=0;i<n;i++){ scanf("%s",buff); scanf("%lf",&p[(buff[0]-‘a‘)]); } scanf("%s",buff); int len=strlen(buff); char s[30]; for(int i=0;i<len;i++) { for(int j=0;j<26;j++) { s[i]=j+‘a‘; int maxn=0; for(int k=len-1;k>=0;k--) { int v=k,x=i; while(v>=0&&i>=0&&s[x]==buff[v]) { v--; x--; } if(v==-1) maxn=max(k+1,maxn); } c[i][j]=maxn; } s[i]=buff[i]; } for(int i=0;i<=m;i++) { for(int j=0;j<=len;j++) dp[i][j]=0; } dp[0][0]=1; double sum=0; for(int i=0;i<m;i++) { for(int j=0;j<len;j++) { for(int k=0;k<26;k++) { dp[i+1][c[j][k]]+=dp[i][j]*p[k]; } } } for(int i=1;i<=m;i++) { sum+=dp[i][len]; } printf("%.2f%%\n",sum*100); } return 0; }
hdu 3689 杭州 10 现场 J - Infinite monkey theorem 概率dp kmp
标签:des blog http io ar os sp for strong
原文地址:http://www.cnblogs.com/xuesu/p/4085687.html