#E0014. 字符压缩

字符压缩

题目描述

给定一个字符串 ss,当字符串 ss 的长度大于 11 时,你需要对字符串 ss 循环进行如下操作:

删除字符串 ss 的首字符或者第二个字符。

如果我们用 s1s2s3sns_1 s_2 s_3 \ldots s_n 来表示一个长度为 nn 的字符串 ss(其中 sis_i 对应为字符串 ss 的第 ii 个字符),则:

  • 若删除 ss 的首字符(即删除 s1s_1),字符串 ss 将变为 s2s3sns_2 s_3 \ldots s_n
  • 若删除 ss 的第二个字符(即删除 s2s_2),字符串 ss 将变为 s1s3sns_1 s_3 \ldots s_n

需要注意的是:当字符串 ss 的前两个字符相同(即 s1=s2s_1 = s_2)时,删除首字符和删除第二个字符仍视为两个不同的操作。

现在再给你一个字符 cc,问:有多少种不同的操作方案能使 ss 最终变成 cc(即 ss 经过若干次操作最终只包含一个字符 cc)?

输入格式

第一行,一个字符串 ss

第二行,一个字符 cc

输出格式

输出一个整数,表示存在多少种不同的操作方案能使字符串 ss 最终只包含一个字符 cc

aba
a
3

说明/提示

样例解释

  • 方案1:aba\mathtt{aba}(删除首字符)ba\rightarrow \mathtt{ba}(删除首字符)a\rightarrow \mathtt{a}
  • 方案2:aba\mathtt{aba}(删除第二个字符)aa\rightarrow \mathtt{aa}(删除首字符)a\rightarrow \mathtt{a}
  • 方案3:aba\mathtt{aba}(删除第二个字符)aa\rightarrow \mathtt{aa}(删除第二个字符)a\rightarrow \mathtt{a}

数据规模与约定

s|s| 表示字符串 ss 的长度,则:

  • 对于 50%50\% 的数据,s10|s| \le 10
  • 对于 100%100\% 的数据,1s201 \le |s| \le 20,字符串 ss 仅由小写英文字母组成,字符 cc 是一个小写英文字母。