#1549. 2553. [BeiJing2011]禁忌
2553. [BeiJing2011]禁忌
#2553. [BeiJing2011]禁忌
题目描述
_Magic Land_ 上的人们总是提起那个传说:他们的祖先 _John_ 在那个东方岛屿帮助 _Koishi_ 与其姐姐 _Satori_ 最终战平。而后, _Koishi_ 恢复了读心的能力……
如今,在 John 已经成为传说的时代,再次造访那座岛屿的人们却发现 Koishi 遇到了新麻烦。
这次她遇到了 _Flandre Scarlet_ ----她拥有可以使用禁忌魔法而不会受到伤害的能力。
为了说明什么是禁忌魔法及其伤害,引入以下概念:
1.字母集 A 上的每个非空字符串对应了一个魔法。
其中 A 是包含了前 alphabet 个小写字母的集合。
2.有一个集合 T ,包含了 N 个字母集 A 上的字符串
T 中的每一串称为一个禁忌串( Taboo string )
3.一个魔法,或等价地,其对应的串 s 因为包含禁忌而对使用者造成的伤害按以下方式确定:
把 _s_ 分割成若干段,考虑其中 ** _是禁忌串的段_** 的数目,不同的分割可能会有不同的数目,其 ** _最大值_** 就是这个伤害。
由于拥有了读心的能力, Koishi 总是随机地使用 Flandre Scarlet 的魔法,可以确定的是,她的魔法正好对应 ** 字母集** ** _ A_** ** 上所有长度为** ** _ len_** ** 的串** 。
但是, Flandre Scarlet 所使用的一些魔法是带有禁忌的,由于其自身特性,她可以使用禁忌魔法而不受到伤害,而 Koishi 就不同了。可怜的 Koishi 每一次使用对方的魔法都面临着受到禁忌伤害的威胁。
你现在需要计算的是如果 _Koishi_ 使用对方的每一个魔法的概率是 ** _均等_** 的,那么每一次随机使用魔法所受到的禁忌伤害的 ** _期望值_** 是多少。
输入格式
第一行包含三个正整数 N 、 len 、 alphabet 。
接下来 N 行,每行包含一个串 T i,表示禁忌串。
输出格式
一个非负实数,表示所受到禁忌伤害的期望值。
样例
样例输入
2 4 2
aa
abb
样例输出
0.75
【样例1解释】
一共有2^4 = 16种不同的魔法。
需要注意的是“aabb”的禁忌伤害是1而不是2。
数据范围与提示
100% 的数据中 N ≤ 5 , len ≤109 , 1 ≤ alphabet ≤ 26。
在所有数据中,有不少于 40% 的数据中: N = 1 。
数据保证每个串 _T i_的长度不超过 15 ,并且不是空串。
数据保证每个 _T i_均仅含有前 alphabet 个小写字母。
数据保证集合 T 中没有相同的元素,即对任意不同的 i 和 j ,有 T i≠ T j。
【评分方法】
对于每一组数据,如果没有得到正确的输出(TLE、MLE、RTE、输出格式错误等)得0分。
否则:设你的输出是 YourAns ,标准输出是 StdAns :
记 MaxEPS = max(1.0 , StdAns) × 10 -6
如果 _|YourAns - StdAns| ≤ MaxEPS_则得 10 分,否则得 0 分。
即: ** 你的答案需要保证相对误差或绝对误差不超过** ** _ 10 -6_**。