[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 $ を回文にすることはできません。