UVA12656 Almost Palindrome
题目描述
给定一行文本,找出其中最长的近似回文子串。一个字符串 $S$ 是近似回文串,当且仅当:
1. $S$ 以字母开头,也以字母结尾;
2. $a(S)$ 和 $b(S)$ 至多有 $2k$ 个位置的不同。
其中,$a(S)$ 是字符串 $S$ 删除所有非字母字符,并将所有字母转换成小写后的字符串,$b(S)$ 是 $a(S)$ 的反转字符串。
例如:当 $k=1$ 时,`Race cat` 时近似回文的,因为 $a(S)=racecat$ 而 $b(S)=tacecar$,二者恰好有两个位置不同。
输入格式
每个测试点最大有 $25$ 个测试数据,每个数据包含 $2$ 行,第一行是一个整数 $k(0\leq k\leq 200)$。第二行是一行文本,最多包含 $1000$ 个字符。字符集为字母、空格及其他可见字符(至少有一个字母),并且不会以空格开头。
输出格式
对于每个测试数据,输出最长的近似回文子串长度及其起始位置(下标从 $1$ 开始)。若有多个,输出起始位置最小的。