#P639. 字符串S的子序列

字符串S的子序列

题目描述

给定两个字符串 SSTT,保证 SS 的长度不小于 TT 的长度。你可以修改 SS 中的某些字符(每次修改可以将一个字符改为任意字符),问至少需要修改多少个字符,才能让 TT 成为 SS 的子序列。

子序列 是指从原序列中删除若干字符(可能为零个)后得到的序列,不要求连续,但必须保持原有顺序。

输入格式

第一行:字符串 SS

第二行:字符串 TT

输出格式

一个整数,表示最少需要修改的字符个数。

样例

ABCDABCD
AABCX
1
ABCDABCD
XAAD
2
XBBBBBAC
ACC
2

提示

样例解释

  • 样例1:将 SS 变为 ABCAABCD?实际上将最后一个字符 D 改为 X,即可使 AABCX 成为子序列,最少修改 11 次。
  • 样例2:将 SS 的第一个 B 改为 X,将第二个 B 改为 A,变为 XACDABCD,可使 XAAD 成为子序列,最少修改 22 次。
  • 样例3:将第一个字符 X 改为 A,将最后一个 A 改为 C,变为 ABBBBBCC,可使 ACC 成为子序列,最少修改 22 次。

数据范围

S|S| 的范围在 101010001000 之间,ST|S|\ge |T|,字符串仅包含大写英文字母。

题目来源

2019年第十届蓝桥杯 C/C++ B组国赛决赛真题