题目描述
给定一个字符串 s,当字符串 s 的长度大于 1 时,你需要对字符串 s 循环进行如下操作:
删除字符串 s 的首字符或者第二个字符。
如果我们用 s1s2s3…sn 来表示一个长度为 n 的字符串 s(其中 si 对应为字符串 s 的第 i 个字符),则:
- 若删除 s 的首字符(即删除 s1),字符串 s 将变为 s2s3…sn;
- 若删除 s 的第二个字符(即删除 s2),字符串 s 将变为 s1s3…sn。
需要注意的是:当字符串 s 的前两个字符相同(即 s1=s2)时,删除首字符和删除第二个字符仍视为两个不同的操作。
现在再给你一个字符 c,问:有多少种不同的操作方案能使 s 最终变成 c(即 s 经过若干次操作最终只包含一个字符 c)?
输入格式
第一行,一个字符串 s。
第二行,一个字符 c。
输出格式
输出一个整数,表示存在多少种不同的操作方案能使字符串 s 最终只包含一个字符 c。
aba
a
3
说明/提示
样例解释
- 方案1:aba(删除首字符)→ba(删除首字符)→a
- 方案2:aba(删除第二个字符)→aa(删除首字符)→a
- 方案3:aba(删除第二个字符)→aa(删除第二个字符)→a
数据规模与约定
设 ∣s∣ 表示字符串 s 的长度,则:
- 对于 50% 的数据,∣s∣≤10
- 对于 100% 的数据,1≤∣s∣≤20,字符串 s 仅由小写英文字母组成,字符 c 是一个小写英文字母。