#HK3903. 「PA 2022」Palindrom

「PA 2022」Palindrom

题目描述

题目译自 PA 2022 Runda próbna Palindrom

Bytie 参加了计算机俱乐部,因此知道了什么是回文串。回文串是从左向右读和从右向左读一样的单词。比如 okokajakkobyłamamałybokababbaba 都是回文串,但是 kajakizooalamakotaabaababa 都不是回文串。

他迅速打开了笔记本并写下了一个只包含 ab 两个字母的单词。然而在回忆了一会儿后,他想起这个单词不一定是一个回文串,因此他决定修改一下!在一秒内,它可以选择两个相邻的字母并交换他们的位置。他是否可以通过有限次操作(或者什么也不做)把这个字符串变成一个回文串?如果可以的话,最少要多少秒才可以?请帮他写一个程序计算这个最小时间。

输入格式

输入一行一个字符串,表示 Bytie 所写的单词。这个字符串仅包含 ab 两种字母,并且长度不超过 200 000200\ 000

输出格式

输出一行一个整数,如果可以通过有限次操作将这个字符串变为回文串,输出最小时间,否则输出 1-1

abbaaab

2

对于第一个样例,Bytie 可以进行如下变换

$$\texttt{abbaaab} \to \underline{\texttt{ba}}\texttt{baaab} \to \texttt{ba}\underline{\texttt{ab}}\texttt{aab} $$

这样原串就变为一个回文串了。并且没有比它更快的变换方案。

ab

-1

这个样例中,Bytie 只能得到 ab\texttt{ab}ba\texttt{ba} 两种串,这两种串都不是回文串。因此他不可能完成这个任务。