题目名称 2696. 子串
输入输出 substrings.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarmouse 于2017-05-19加入
开放分组 全部用户
提交状态
分类标签
模式匹配 记忆化搜索
分享题解
通过:2, 提交:9, 通过率:22.22%
GravatarShirry 100 0.061 s 0.89 MiB C++
Gravatarkito 100 0.406 s 0.93 MiB C++
GravatarShirry 40 0.407 s 1.07 MiB C++
GravatarShirry 40 0.423 s 1.07 MiB C++
GravatarShirry 40 0.424 s 0.99 MiB C++
Gravatarkito 20 0.153 s 0.75 MiB C++
GravatarShirry 10 8.475 s 1.88 MiB C++
GravatarMloVtry 0 0.002 s 6.63 MiB C++
GravatarShirry 0 0.410 s 0.97 MiB C++
本题关联比赛
20170519
关于 子串 的近10条评论(全部评论)
注意多组数据的初始化
GravatarShirry
2017-05-24 19:34 1楼

2696. 子串

★☆   输入文件:substrings.in   输出文件:substrings.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


给出一些字符和各自对应的选择概率,随机选择L次后将得到一个长度为L的随机字符串S(每次独立随机)。给出K个模板串,计算S不包含任何一个串的概率(即任何一个模板串都不是S的连续子串)。


【输入格式】


输入第一行为测试数据组数T(T<=50)。

对于每组测试数据,第一行为模板串个数K(K<=20)。以下K行每行包含一个模板串(长度不超过20)。接下来一行为一个整数N,即字符个数,下面的N行每行为一个不同的字符(保证为大小写字母或者数字)和选择它的概率pi。所有pi之和保证为1。最后一行为生成的字符串长度L(L<=100)。模式串保证只由上述N个字符组成。

每组测试数据结束后有一个空行。


【输出格式】


对于每组测试数据,先输出测试数据编号,再输出生成的串不包含任何一个模板串的概率,结果保留到小数点后6位(详细格式见样例输出)。


【样例输入】

2
1
a
2
a 0.5
b 0.5
2

2
ab
ab
2
a 0.2
b 0.8
2

【样例输出】

Case #1: 0.250000
Case #2: 0.840000

【提示】

在此键入。

【来源】

在此键入。