CF1506C Double-ended Strings
题目描述
给定两个仅由小写拉丁字母组成的字符串 $a$ 和 $b$。你可以对它们进行任意次数、任意顺序的如下操作:
- 如果 $|a| > 0$(即字符串 $a$ 的长度大于零),可以删除字符串 $a$ 的第一个字符,即将 $a$ 替换为 $a_2 a_3 \ldots a_n$;
- 如果 $|a| > 0$,可以删除字符串 $a$ 的最后一个字符,即将 $a$ 替换为 $a_1 a_2 \ldots a_{n-1}$;
- 如果 $|b| > 0$(即字符串 $b$ 的长度大于零),可以删除字符串 $b$ 的第一个字符,即将 $b$ 替换为 $b_2 b_3 \ldots b_n$;
- 如果 $|b| > 0$,可以删除字符串 $b$ 的最后一个字符,即将 $b$ 替换为 $b_1 b_2 \ldots b_{n-1}$。
注意,每次操作后,字符串 $a$ 或 $b$ 可能会变为空串。
例如,若 $a=$ "hello",$b=$ "icpc",你可以进行如下操作序列:
- 删除字符串 $a$ 的第一个字符 $\Rightarrow$ $a=$ "ello",$b=$ "icpc";
- 删除字符串 $b$ 的第一个字符 $\Rightarrow$ $a=$ "ello",$b=$ "cpc";
- 删除字符串 $b$ 的第一个字符 $\Rightarrow$ $a=$ "ello",$b=$ "pc";
- 删除字符串 $a$ 的最后一个字符 $\Rightarrow$ $a=$ "ell",$b=$ "pc";
- 删除字符串 $b$ 的最后一个字符 $\Rightarrow$ $a=$ "ell",$b=$ "p"。
对于给定的字符串 $a$ 和 $b$,请你求出使 $a$ 和 $b$ 相等所需的最小操作次数。注意,空字符串也视为相等。
输入格式
第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。
接下来每个测试用例包含两行:
第一行是字符串 $a$($1 \le |a| \le 20$),仅包含小写拉丁字母。
第二行是字符串 $b$($1 \le |b| \le 20$),仅包含小写拉丁字母。
输出格式
对于每个测试用例,输出一个整数,表示使字符串 $a$ 和 $b$ 相等所需的最小操作次数。
说明/提示
由 ChatGPT 4.1 翻译