#E0022. 反回文串
反回文串
题目描述
给定一个长度为 的字符串 ,我们用 表示字符串 中的第 个字符()。若对于任意 均有 ,则我们称字符串 为一个 反回文串。
举例来说:字符串 quanjun、zpl、hello 都是反回文串;字符串 abacabc、abc、test 都不是反回文串。
你可以对字符串 进行任意次操作,每次操作,你可以选择字符串中的两个字符,并交换这两个字符。
你希望使用最少的操作次数,使字符串 变成一个反回文串。
输入格式
输入的第一行包含一个整数 ,表示字符串长度。
第二行包含一个长度为 的字符串 ,字符串 仅由小写英文字母组成。
输出格式
如果无论怎么交换字符都无法使字符串 变成一个反回文串,输出 ;
否则,输出一个整数,表示使字符串 变成一个反回文串所需的最少操作次数。
4
wwww
-1
12
cabbaccabaac
3
说明/提示
样例解释
样例1:无论怎么操作,字符串都是 wwww,无法变成一个反回文串。
样例2:交换 和 ,再交换 和 ,再交换 和 ,字符串变为 accabbcabaac,是一个反回文串。
数据规模与约定
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,,且字符串 仅由小写英文字母组成