A50245.午枫的字符串移动
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:256MB
题目描述
定义 C(t,x) 为将字符串 t 向右循环移动后得到的字符串,例如 C(abc,1)=cab ,C(abcde,4)=bcdea 。
小枫还有一个长度为 n 的只包含小写英文字母的字符串 s ,调皮的小午又来捣乱了,他把小枫的字符串变成了 C(s,m) ,但是不幸的是,小午不小心丢失了 k 个字符。
现在小枫知道最初的字符串 s 和最终的字符串 s′ ,请你告诉他最小的 m 是多少?
输入格式
第一行输入两个整数 n,k (1≤n≤104,0≤k<n) ,分别表示初始字符串长度和丢失字符数量。
第二行输入一个长度为 n 的字符串 s ,表示最初字符串,保证 s 只包含小写英文字母。
第三行输入一个长度为 n−k 的字符串 s′ ,表示最终字符串,保证 s′ 一定是由 s 变化得到的。
输出格式
输出一个整数,表示最小可能的 m 。
输入输出样例
输入#1
5 2 bbbaa aab
输出#1
2
说明/提示
通过 C(bbbaa,2) 得到 aabbb
,可能丢失的是第一和第二个 b
,也可能丢失的是第一和第三个 b
,也可能丢失的是第二和第三个 b
,这些情况都可以得到 aab
,此时 m 为 2 。可以证明没有更小的 m 可以让原串变成 C(bbbaa,m) 且丢失两个字符变成 aab
。