标签: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