G. Rotating-Calipers
G. Rotating-Calipers
时间限制:2s
空间限制:512MB
本题分数:350
题目背景
经典问题:“旋转卡壳”(一个算法的名称)有多少种读法
题目描述
现给出一个由小写字母组成的、不包含空格的文本串 和一个字典 ,你需要通过以下方法解读 :
将字符串进行分词,这个词必须在字典 中出现过;
为每个词分配一种读音。
问,有多少种不同的解读方法。
当以下条件的至少一个满足时,我们认为两种解读方法不同:
- 两种解读方法对于句子 的分词方法不同
- 对于某个 ,两种解读方法对第 个词分配的读音不同。
答案可能很大,对 取模。
输入格式
第一行一个整数,表示字典中单词的个数。
接下来 行每行包含一个字符串和一个整数,表示一个单词及它的读音数量。
接下来一行一个字符串 ,是需要进行解读的句子。
输出格式
一个正整数 ,表示方案数,注意取模。
样例输入1
样例输出1
样例输入2
样例输出2
样例2解释
如果分词方法是 (y)(y)(ds),则有 种读法
如果分词方法是 (yy)(ds),则有 种读法
如果分词方法是 (yyds),则有种读法。
总计种。
样例输入3
样例输出3
样例3解释
无法将句子分成字典中的单词。
样例输入4
样例输出4
数据范围及限制
字典中的单词只包含小写字母,单词个数 。
单词之间互不相等,即
每个单词的解读方法数目
测试点编号 | 文本串长度 | 字典中单词长度之和 | 其他约定 | 测试点分值 |
---|---|---|---|---|
1 | 各单词的长度均为 | 每个测试点30分 | ||
2~3 | 文本串仅包含一种字符 | 每个测试点30分 | ||
4~6 | 每个测试点40分 | |||
7~8 | 每个测试点70分 |
信息
- ID
- 1311
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 51
- 已通过
- 4
- 通过率
- 8%
- 被复制
- 1
- 上传者
相关
在下列比赛中: