问题 C: [CSP-S 2025] 谐音替换
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
小 W 是一名喜欢语言学的算法竞赛选手。在语言学中,谐音替换是指将原有的字词替换为读音相同或相近的字词。小 W 发现,谐音替换的过程可以用字符串来进行描述。具体地,小 W 将谐音替换定义为以下字符串问题:
给定 个字符串二元组,第 () 个字符串二元组为 ,满足 ,其中 表示字符串 的长度。
对于字符串 ,定义 的替换如下:
- 对于 的某个子串 ,若存在 满足 ,则将 替换为 。具体地,设 ,其中 和 可以为空,“+” 表示字符串拼接,则 的替换将得到字符串 。
小 W 提出了 个问题,第 () 个问题会给定两个不同的字符串 ,她想知道有多少种字符串 的替换能够得到字符串 。两种 的替换不同当且仅当子串 的位置不同或用于替换的二元组 不同,即 不同或 不同。你需要回答小 W 提出的所有问题。
说明/提示
【数据范围】
设 , 。对于所有测试数据,保证:
- ;
- ;
- 对于所有 , 均仅包含小写英文字母,且 ;
- 对于所有 , 均仅包含小写英文字母,且 。
特殊性质 A:。
特殊性质 B:定义字符串 为特别的,当且仅当字符串 仅包含字符 和 ,且字符 在 中出现恰好一次。对于所有 , 均为特别的,且对于所有 , 均为特别的。
输入
输入的第一行包含两个正整数 ,分别表示字符串二元组的数量和小 W 提出的问题的数量。
输入的第 () 行包含两个字符串 ,表示第 个字符串二元组。
输入的第 () 行包含两个字符串 ,表示小 W 提出的第 个问题。
输出
输出 行,其中第 () 行包含一个非负整数,表示替换后得到字符串 的字符串 的替换的数量。
样例输入 复制
样例输入1:
4 2
xabcx xadex
ab cd
bc de
aa bb
xabcx xadex
aaaa bbbb
样例输出1:
2
0
样例输入2:
3 4
a b
b c
c d
aa bb
aa b
a c
b a
样例输出2:
0
0
0
0