君の名は
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题面
一天,小明获得了一个名单,他想看看自己的名字和其他人的名字有多相似。(注意这里小明的名字并不是 小明 ,小明只是一个 称呼 )
相似的定义如下:
若小明名字长为\(l\),有\(x\)个人的名字的前\(a\)个字符和小明的名字的前\(a\)个字符相同(注意了,小明的名字不参与比较),则相似度\(v_a= \frac{a}{l}\times x \)。
众所周知,小明是虚拟世界中掌握一身技能的人,所以他会换马甲。但是他知道换太多了他会被识破,所以它最多换\(q\)次,请输出小明没换马甲时和每次换完马甲后的相似度之和(即\(v_1\)..\(v_l\)的和)
输入格式
第一行一个数\(n\)
第二行一个字符串,表示小明没换马甲前的的名字
接下来\(n\)行每行一个字符串,表示各个人的名字
接下来一个数\(q\)表示小明换马甲的次数
接下来\(q\)行每行一个字符串\(q_i\)表示小明换的第\(i\)个马甲
输出格式
\(q+1\)行,每行一个浮点数表示相似度之和(保留两位小数)
第一行输出小明没换马甲前的的名字的相似度之和,接下来\(q\)行按照输入顺序依次输出每个小明的马甲对应的相似度之和
输入样例
10
drbge
v
thzx
oxmok
pwwdq
u
sag
de
drr
vl
yyhw
1
z
输出样例
0.80
0.00
数据范围及限制
共11个测试点,第一个测试点为样例,不计分,其测试点编号为0。
数据范围请自行根据以下方法计算,其中的\(id\)表示测试点编号
对于奇数测试点编号:
字符串长度\(\le \lfloor \frac{id}{2}+1 \rfloor \times 5\)
对于偶数测试点编号,字符串长度均\(\le 50\)
对于所有测试点编号,设\(n_i\)表示第\(i\)个测试点的字符串最大数量:
\(n_1=1\)
若\(i\)不整除2,则\(n_i=n_{i-1}\times 10\),否则\(n_i=n_{i-1}\)(此处\(i\)的范围为\(1<i \le 10\))。
字符串只包含小写字母
\(0 \le q \le 10n\)
测试点0~9时空限制为1s/512MB,测试点10时空限制为1s/1024MB