[ARC088E] Papple Sort
题意翻译
给定一个只有小写字母的字符串S,请问最少经过多少次相邻两字母的交换,使得字符串变成回文?
如果不可以输出 -1
说明
例子1说明,只要交换第二个和第三个字符,就成为回文了
例子2,从 原串 -> ataamtma -> atamatma -> atmaatma -> amtaatma就成为回文了
题目描述
[problemUrl]: https://atcoder.jp/contests/arc088/tasks/arc088_c
英小文字からなる文字列 $ S $ が与えられます。 隣り合う $ 2 $ つの文字を入れ替える操作を繰り返して $ S $ を回文にできるかどうか判定し、できる場合は操作の最小回数を求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ S $
输出格式
回文にできない場合、`-1` を出力せよ。そうでない場合、操作の最小回数を出力せよ。
输入输出样例
输入样例 #1
eel
输出样例 #1
1
输入样例 #2
ataatmma
输出样例 #2
4
输入样例 #3
snuke
输出样例 #3
-1
说明
### 制約
- $ 1\ \leq\ |S|\ \leq\ 2\ ×\ 10^5 $
- $ S $ は英小文字からなる
### Sample Explanation 1
以下の操作で、$ S $ を回文にすることができます。 - $ 2 $ 文字目と $ 3 $ 文字目を入れ替える。新しい $ S $ は `ele` となる。
### Sample Explanation 2
以下の操作で、$ S $ を回文にすることができます。 - $ 5 $ 文字目と $ 6 $ 文字目を入れ替える。新しい $ S $ は `ataamtma` となる。 - $ 4 $ 文字目と $ 5 $ 文字目を入れ替える。新しい $ S $ は `atamatma` となる。 - $ 3 $ 文字目と $ 4 $ 文字目を入れ替える。新しい $ S $ は `atmaatma` となる。 - $ 2 $ 文字目と $ 3 $ 文字目を入れ替える。新しい $ S $ は `amtaatma` となる。
### Sample Explanation 3
$ S $ を回文にすることはできません。