#N0409. 冒泡!这次要构造成回文!【NOIP2023模拟赛T3】

冒泡!这次要构造成回文!【NOIP2023模拟赛T3】

题目描述

33DAI 拿到了一个只有小写字母的字符串 ss

今天的 33DAI 非常喜欢回文字符串,他想把 ss 变成一个回文字符串。但 33DAI 非常菜,刚学过冒泡排序的他只会交换相邻的字符。

请问最少进行多少次相邻字母交换,才能使字符串变成回文字符串?如果 33DAI 怎么都做不到,请输出 -1

输入格式

输入一个字符串 ss

输出格式

输出一个整数,即最少的操作次数,或 -1

eel
1
ataatmma
4
snuke
-1

大样例:sample3.zip

数据规模与约定

对于 100%100\% 的数据

  • 1  s  2 × 105 1\ \le\ |s|\ \le\ 2\ \times\ 10^5
  • s s 仅包含小写英文字母。

子任务:

  • 子任务 1(15 分):保证字符串中有 s1|s| - 1o,和 11x
  • 子任务 2(35 分):1  s  1000 1\ \le\ |s|\ \le\ 1000
  • 子任务 3(30 分):保证有解
  • 子任务 4(20 分):没有特殊限制