CF1005B Delete from the Left
题目描述
给定两个字符串 $s$ 和 $t$。每次操作,你可以选择任意一个字符串,删除其第一个(即最左边的)字符。每进行一次操作,该字符串的长度减少 $1$。如果字符串已经为空,则不能选择该字符串进行操作。
例如:
- 对字符串 "where" 进行一次操作,结果为字符串 "here";
- 对字符串 "a" 进行一次操作,结果为一个空字符串 ""。
你的任务是用最少的操作次数,使得这两个字符串相等。最终,两字符串都可能变为空字符串,此时它们也被认为是相等的。在这种情况下,答案显然是初始两个字符串长度之和。
请编写程序,求出使给定两个字符串 $s$ 和 $t$ 相等所需的最少操作次数。
输入格式
输入的第一行包含字符串 $s$。输入的第二行包含字符串 $t$。两个字符串均只包含小写拉丁字母。每个字符串的长度在 $1$ 到 $2\cdot10^5$ 之间(包含 $1$ 和 $2\cdot10^5$)。
输出格式
输出所需的最少操作次数。最终,两字符串都可能变为空字符串,此时它们也被认为是相等的。在这种情况下,答案显然是给定字符串长度之和。
说明/提示
在第一个样例中,你应分别对第一个字符串和第二个字符串各进行一次操作。结果两个字符串都变为 "est"。
在第二个样例中,应对字符串 "codeforces" 进行 $8$ 次操作,结果字符串变为 "codeforces" $\to$ "es"。对字符串 "yes" 进行一次操作,结果为 "yes" $\to$ "es"。
在第三个样例中,只有将两个字符串全部删除才能使它们相等。即最终两个字符串都为空。
在第四个样例中,应删除第二个字符串的第一个字符。
由 ChatGPT 4.1 翻译