男孩的名字为s,他对自己的名字非常满意,因此他喜欢到处寻找自己的名字。每当他看到一个字符串t,如果他可以通过删除0个或多个字母(此时,其余字母的顺序关系不变)从字符串t中获得自己的名字,他就会很高兴。例如,如果s=“aba”,那么字符串“baobab”,“aabbaa”,“helloabahello”会让他非常高兴,而字符串“aab”,“baaa”和“helloabhello”则不会。
然而,比起一次快乐,他更喜欢两次快乐!所以,当他看到一个字符串t时,他想把t切成两部分(左边的部分和右边的部分),并使得每一部分都让他高兴。
请帮助他确定将给定字符串t切成两部分的不同方法的数量。
共两行:
第一行为小写英文字母组成的字符串s,1<=len(s)<=1000
第二行为小写英文字母组成的字符串t,1<=len(t)<=106
提示:len(s), len(t)为字符串s和字符串t的长度。
一个整数:将字符串切成两部分并使得两部分都能使得男孩s开心的方法数。
示例2:
输入:
mars
sunvenusearthmarsjupitersaturnuranusneptune
输出:
0
提示:
在示例1中,
"baobababbah" 可以被切分为:”
baoba“+”babbah“ 或者:"baobab"+”abbah“ ,共有2种切分方法
对于示例2,我们无法找到一种切分方法,使得前后两部分都包含mars,所有共有0种方法