AT_abc447_c [ABC447C] Insert and Erase A

题目描述

给你由大写英文字母组成的字符串 $S$ 和 $T$。 您可以按任意顺序执行以下两种类型的操作任意次数(可能为零): - 在 $S$ 的任意位置(可能是开头或末尾)插入一个字符 `A`。 - 在 $S$ 中选择一个字符 `A` 并删除。其余字符按原来的顺序连接。 判断是否有可能使 $S$ 等于 $T$,如果有可能,找出所需的最小操作总数。

输入格式

输入内容由标准输入法提供,格式如下 >$S$ $T$

输出格式

如果可以使 $S$ 等于 $T$,则输出所需的最小操作总数;否则,输出 `-1`。

说明/提示

#### 样例解释 #1 可以通过以下三步操作使 $S$ 等于 $T$: - 在 $S$ 的第二个和第三个字符之间插入一个 `A`。现在,$S=$ `ABAC`。 - 删除 $S$ 的第一个字符,即 `A`。现在,$S=$ `BAC`。 - 在 $S$ 的末尾插入一个 `A`。现在,$S=$ `BACA`。 不可能通过两次或更少的运算使 $S$ 等于 $T$,所以答案是 $3$。 #### 样例解释 #2 无论如何运算,都不可能使 $S$ 等于 $T$。 #### 样例解释 #3 无需执行任何操作。 #### 限制因素 - $S$ 和 $T$ 是长度介于 $1$ 和 $3\times 10^5$ (含)之间的大写英文字母字符串。 由 DeepL 翻译。