#P1164. 誊清手稿
显示设置
本题导航点一下展开
我的笔记
✕
誊清手稿
题目背景
数据组里负责抄录记录的学长有个死规矩:每次修订手稿,必须恰好改动 个字符,多一个少一个都不许。手稿誊清之后还必须正读反读都一模一样。
题目描述
给定一个长度为 的字符串 , 只由字符 a 和 b 组成;再给定一个整数 。
你需要恰好选择 个不同的位置,把每个被选中位置上的字符改成另一个字符(a 改成 b,b 改成 a);没有选中的位置保持原样。改动之后得到的字符串必须是一个回文串。
如果存在这样的改动方案,请输出所有合法结果串中字典序最小的一个(字符 a 小于字符 b);如果不存在任何合法方案,输出 -1。
输入格式
第一行一个整数 。
第二行一个长度为 的字符串 ,仅由 a 与 b 组成。
第三行一个整数 。
输出格式
一行,一个合法结果串或 -1。
输入输出样例 #1
输入 #1
6
bbaabb
4
输出 #1
aaaaaa
说明
把 、、、 号位置上的字符都改成 a,恰好改动 个位置,得到回文串 aaaaaa。
输入输出样例 #2
输入 #2
2
ab
2
输出 #2
-1
说明
恰好改动 个位置只能得到 ba,它不是回文串。
输入输出样例 #3
输入 #3
3
aba
1
输出 #3
aaa
数据范围与约定
- 对于 的数据,。
- 对于 的数据,。
- 对于 的数据,,。