A94829.字符串混合

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定三个字符串 AABBCC。已知 CC 的长度等于 AABB 的长度之和(即 C=A+B|C| = |A| + |B|)。

字符串 CC 原本是由 AABB 按顺序交织而成的。也就是说,CC 可以通过以下过程生成:

  1. 初始时,CC 为空串。
  2. 每次操作,你可以选择 AABB首字符,将其移除并追加到 CC 的末尾。
  3. 重复步骤 2,直到 AABB 都变为空串。

但是,现在的字符串 CC 并不是完美的。在交织生成后,CC 中的某些字符被修改了

你的任务是计算:为了让 CC 变回一个由 AABB 合法交织而成的字符串,最少需要修改 CC 中的多少个字符?

输入格式

第一行包含一个整数 TT (1T10001 \le T \le 1000),表示测试数据的组数。

接下来对于每组数据:

  • 第一行包含一个字符串 AA (1A10001 \le |A| \le 1000)。
  • 第二行包含一个字符串 BB (1B10001 \le |B| \le 1000)。
  • 第三行包含一个字符串 CC (C=A+B|C| = |A| + |B|)。

所有字符串均由小写英文字母组成。
保证所有测试数据的 A|A| 之和不超过 20002000B|B| 之和不超过 20002000

输出格式

对于每组数据,输出一个整数,表示最少需要修改的字符数量。

输入输出样例

  • 输入#1

    7
    a
    b
    cb
    ab
    cd
    acbd
    ab
    ba
    aabb
    xxx
    yyy
    xyxyxy
    a
    bcd
    decf
    codes
    horse
    codeforces
    egg
    annie
    egaegaeg

    输出#1

    1
    0
    2
    0
    3
    2
    3

说明/提示

提示

样例 1 解释

A="a",B="b",C="cb"A=\text{"a"}, B=\text{"b"}, C=\text{"cb"}
合法的交织结果只能是 "ab" 或 "ba"。

  • 变成 "ab": 需要修改 C[0]C[0] ('c'->'a'), C[1]C[1] ('b'->'b' 不变),共 1 次。
  • 变成 "ba": 需要修改 C[0]C[0] ('c'->'b'), C[1]C[1] ('b'->'a'), 共 2 次。
    最少需要修改 1 次。

数据范围

  • 1T10001 \le T \le 1000
  • A,B2000\sum |A|, \sum |B| \le 2000
首页