A94821.潜藏的指令

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

特工小明截获了一段极长的加密信号字符串 SS。情报部门告诉他,这段信号中隐藏着一个核心指令 TT

核心指令 TT 是通过“伪装”的方式隐藏在 SS 中的。具体来说,指令 TT 的字符按顺序分散在 SS 的各个位置(不需要连续,但必须保持前后相对顺序)。

例如:信号 S="babgbag"S = \text{"babgbag"},指令 T="bag"T = \text{"bag"}
我们可以找到 5 种不同的方式从 SS 中提取出 TT(下标从 0 开始):

  1. S[0],S[1],S[4]S[0], S[1], S[4] ("babggag") -> "bag"
  2. S[0],S[1],S[6]S[0], S[1], S[6] ("babgbag") -> "bag"
  3. S[0],S[5],S[6]S[0], S[5], S[6] ("bagbag") -> "bag"
  4. S[2],S[3],S[4]S[2], S[3], S[4] ("babgag") -> "bag"
  5. S[2],S[3],S[6]S[2], S[3], S[6] ("babgbag") -> "bag"

为了评估情报的可靠性,小明需要计算出:在信号 SS 中,总共有多少种不同的方式可以组成指令 TT

由于方案数可能非常巨大,请输出方案数对 109+710^9 + 7 取模后的结果。

输入格式

输入共两行。
第一行包含一个字符串 SS(表示加密信号)。
第二行包含一个字符串 TT(表示核心指令)。

输出格式

输出一个整数,表示 TTSS 中作为子序列出现的次数对 10000000071000000007 取模后的结果。

输入输出样例

  • 输入#1

    rabbbit
    rabbit

    输出#1

    3
  • 输入#2

    babgbag
    bag

    输出#2

    5

说明/提示

样例解释与数据范围

数据范围

  • 对于 100%100\% 的数据:
    • SSTT 仅由英文字母组成。
    • 1TS10001 \le |T| \le |S| \le 1000
    • 答案需对 109+710^9 + 7 取模。

数据点分布:

  • 测试点 1-5:S20|S| \le 20
  • 测试点 6-15:S100|S| \le 100
  • 测试点 16-25:S1000|S| \le 1000
首页