P15854 [蓝桥杯第二届国际赛] 基因子序列
题目描述
生物的基因都是由 $4$ 种不同的碱基组成,一般用 A、T、G、C 表示这 $4$ 种碱基。基因可以用按顺序表达的一串碱基来表示,例如 ATCACAGGT。
小明最近在关注一个特别的碱基序列 $S$($S$ 也是由 A、T、G、C 组成),他发现,如果一个基因中可以按出现的顺序提取出一些碱基和 $S$ 正好相等,则这个基因可能具备某种性质。例如,当 $S=\text{TCG}$ 时,我们可以从基因 ATCACAGGT 中提出出第 $2$、$3$、$7$ 个碱基和 $S$ 相等,而无法从基因 CGT 提取出一部分碱基与 $S$ 相等。
当然,能提取的位置可能是多样的,比如我们可以从基因 ATCACAGGT 中提取出第 $2$、$5$、$8$ 个碱基和 $S$ 相等。小明想知道,在相等时从基因中提取的最后一个碱基的序号最小是多少。
输入格式
输入的第一行包含一个字符串 $S$,表示给定的碱基序列。
输入的第二行包含一个字符串 $D$,表示给定约定的基因。
输出格式
如果无法找到对应的提取方式,输出 $-1$,否则输出在相等时从基因中提取的最后一个碱基的序号。
说明/提示
### 【样例说明】
本题要找最小的答案,如果输出 $8$ 是不正确的。
### 【数据规模与约定】
对于 $40\%$ 的评测用例,给定的两个字符串的长度均不超过 $1000$;
对于所有评测用例,给定的两个字符串的长度均不超过 $100000$。出现的字符仅为 A、T、C、G。