作为一名古代奥术师,您正在研究一卷新发现的神秘卷轴。 卷轴上铭刻着一段由古代符文组成的强大文本。 您相信,通过念出特定的咒语(同样由符文组成),可以与卷轴文本产生共鸣,从而释放强大的魔法。 共鸣的强度取决于咒语的符文与卷轴文本的匹配方式和位置。 您的任务是开发一个系统,来精确计算任意咒语与卷轴文本之间的共鸣分数。 共鸣分数由两个核心部分决定:匹配度 和 位置能量 。 1. 匹配度 (Match Score) 根据咒语的符文序列(`incantation`)与卷轴文本序列(`scroll_text`)的匹配情况,分为以下四个等级,按优先级从高到低判断 : 1. 完美谐振 (Perfect Harmonic Match) : 咒语中的所有符文,在卷轴文本中以相同的顺序出现(可以不相邻)。 匹配度得分 : 2. 部分谐振 (Partial Harmonic Match) : 咒语中的所有符文,都能在卷轴文本中找到,但顺序不完全一致。 匹配度得分 : 3. 微弱回响 (Faint Echo) : 只有部分咒语符文能在卷轴文本中找到。设咒语总符文数为 ,实际匹配到的符文数为 。 匹配度得分 : ,其中 4. 静默 (Silence) : 不属于以上任何一种情况(即咒语中没有任何一个符文出现在卷轴文本中)。 匹配度得分 : 2. 位置能量 (Positional Energy) 出现在卷轴开头的符文能引导更强大的能量。 设卷轴文本的符文总数为 。对于在卷轴中匹配到的一个符文,其 0-索引位置为 ,则该符文贡献的 位置能量 为: (当 时,分母为0,此时约定 ) 一个咒语的 总位置能量 是其所有匹配到的符文的 位置能量之和 。 如果卷轴文本中包含多个相同的符文,只计算第一次出现的那个符文的位置能量。 3. 最终共鸣分数 共鸣分数由匹配度与总位置能量相乘得到,并需要进行精度处理。 (这相当于将结果小数点后第4位之后的部分直接截断,而不是四舍五入) 注意 :所有符文匹配过程 忽略大小写 。
输入描述:
输入为单行字符串,由半角管道符 `` 分隔。第一个部分是卷轴文本 (`scroll_text`)。之后的部分是 N 个待测试的咒语 (`incantation_1`, `incantation_2`, ...)。格式: `scroll_textincantation_1incantation_2...incantation_N`卷轴文本和咒语都由一个或多个符文(英文单词)组成,符文之间用空格分隔。咒语的数量 。
输出描述:
为每个输入的咒语计算一个共鸣分数。所有分数在一行内输出,同样由半角管道符 `` 分隔,并保留4位小数。格式: `score_1score_2...score_N`
示例1
输入
Advanced Camera: Capture Life in Stunning Detail! Elevate Your Photography with Our Cutting-Edge Camera!|Camera|Camera Photography|digital phone|phone
输出
0.9230|1.2307|0.0000|0.0000
示例2
输入
buy red running shoes online!|red shoes|buy shoes running|shoes black|Phone
输出
1.0000|1.4000|0.0750|0.0000
备注:
本题由牛友@Charles 整理上传
加载中...