#1521. 小明的字符串
小明的字符串
题目描述
给定一个只由小写英文字母组成的字符串 。小明很喜欢 s、m、z、x 这 个字符。
他想从字符串 中从左到右选择 个字符,使得选出的字符从左到右正好是:
smzx
请你输出有多少种不同的选择方式。由于答案可能很大,你只需要输出答案对 取模后的结果。
注意:选择的是子序列,被选择的字符不要求连续,但相对顺序必须保持不变。
例如,若选择的位置不同,即使选出的字符内容相同,也算作不同的选择方式。
输入格式
输入一行一个字符串 。
输出格式
输出一个整数,表示答案对 取模后的结果。
样例 1
输入
ssmmzzxx
输出
16
说明
样例 1 中,可以从 个 s 中选一个,从 个 m 中选一个,从 个 z 中选一个,从 个 x 中选一个,因此共有:
种选择方式。
样例 2
输入
smzxsmzxsmzx
输出
15
数据范围与子任务
对于所有数据,满足:
- ;
- 只由小写英文字母组成。
| 子任务 | 分值 | 特殊性质 |
|---|---|---|
| 子任务 1 | 15 分 | |
| 子任务 2 | 20 分 | |
| 子任务 3 | s,m,z,x 这 个字符在 中都至多出现一次,答案只可能是 或 。 |
|
| 子任务 4 | 删除所有不是 s,m,z,x 的字符后,剩下的字符一定按若干个 s、若干个 m、若干个 z、若干个 x 的顺序排列。 |
|
| 子任务 5 | 25 分 | 无特殊性质。 |
相关
在下列比赛中: