CF1506C.Double-ended Strings

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Double-ended Strings

题目描述

给定两个仅由小写拉丁字母组成的字符串 aabb。你可以对它们进行任意次数、任意顺序的如下操作:

  • 如果 a>0|a| > 0(即字符串 aa 的长度大于零),可以删除字符串 aa 的第一个字符,即将 aa 替换为 a2a3ana_2 a_3 \ldots a_n
  • 如果 a>0|a| > 0,可以删除字符串 aa 的最后一个字符,即将 aa 替换为 a1a2an1a_1 a_2 \ldots a_{n-1}
  • 如果 b>0|b| > 0(即字符串 bb 的长度大于零),可以删除字符串 bb 的第一个字符,即将 bb 替换为 b2b3bnb_2 b_3 \ldots b_n
  • 如果 b>0|b| > 0,可以删除字符串 bb 的最后一个字符,即将 bb 替换为 b1b2bn1b_1 b_2 \ldots b_{n-1}

注意,每次操作后,字符串 aabb 可能会变为空串。

例如,若 a=a= "hello",b=b= "icpc",你可以进行如下操作序列:

  • 删除字符串 aa 的第一个字符 \Rightarrow a=a= "ello",b=b= "icpc";
  • 删除字符串 bb 的第一个字符 \Rightarrow a=a= "ello",b=b= "cpc";
  • 删除字符串 bb 的第一个字符 \Rightarrow a=a= "ello",b=b= "pc";
  • 删除字符串 aa 的最后一个字符 \Rightarrow a=a= "ell",b=b= "pc";
  • 删除字符串 bb 的最后一个字符 \Rightarrow a=a= "ell",b=b= "p"。

对于给定的字符串 aabb,请你求出使 aabb 相等所需的最小操作次数。注意,空字符串也视为相等。

输入格式

第一行包含一个整数 tt1t1001 \le t \le 100),表示测试用例的数量。

接下来每个测试用例包含两行:

第一行是字符串 aa1a201 \le |a| \le 20),仅包含小写拉丁字母。

第二行是字符串 bb1b201 \le |b| \le 20),仅包含小写拉丁字母。

输出格式

对于每个测试用例,输出一个整数,表示使字符串 aabb 相等所需的最小操作次数。

说明/提示

由 ChatGPT 4.1 翻译

样例

5
a
a
abcd
bc
hello
codeforces
hello
helo
dhjakjsnasjhfksafasd
adjsnasjhfksvdafdser
0
2
13
3
20

在线编程 IDE

建议全屏模式获得最佳体验