编程题
### 问题描述 小蓝现在有两个长度为 $n$ 的仅由小写字母组成的字符串 $s,t$ ,现在给小蓝一个空的字符串 $c$ ,小蓝可以对 $c$ 进行任意次操作,每次操作小蓝可以选择 $s$ 的一个子序列拼接到 $z$ 的末尾,请问小蓝是否可以通过若干次操作使得 $c=t$ ,如果可以则输出最小操作次数,否则输出 $-1$ 。 ### 输入格式 第一行输入一个整数,代表 $n$ 。 第二行输入一个长度为 $n$ 仅由小写字母构成的字符串,代表 $s$ 。 第三行输入一个长度为 $n$ 仅由小写字母构成的字符串,代表 $t$ 。 ### 输出格式 输出一行一个整数,若 $c$ 可以变为 $t$ ,则输出最小操作次数,否则输出 $-1$ 。 ### 样例输入 ```txt 3 aab aba ``` ### 样例输出 ```txt 2 ``` ### 说明 对于样例,我们首先让 $c$ 拼接上 $ab$ ,再让 $c$ 拼接上 $a$ 即可变为 $aba$ ,所以总共需要操作两次。 ### 评测数据规模 对于 $50$% 的评测数据 $1 \leq n \leq 10^{3}$ 。 对于 $100$% 的评测数据 $1 \leq n \leq 10^{5}$ 。
查看答案
赣ICP备20007335号-2