[PA 2022] Palindrom

Luogu
IDLGP9251
Time2000ms
Memory512MB
DifficultyP3
2022PA(波兰)
**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda próbna [Palindrom](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/pal/)** Bytie 参加了计算机俱乐部,因此知道了什么是回文串。回文串是从左向右读和从右向左读一样的单词。比如 `oko`,`kajak`,`kobyłamamałybok` 和 `ababbaba` 都是回文串,但是 `kajaki`,`zoo`,`alamakota` 和 `abaababa` 都不是回文串。 他迅速打开了笔记本并写下了一个只包含 `a` 和 `b` 两个字母的单词。然而在回忆了一会儿后,他想起这个单词不一定是一个回文串,因此他决定修改一下!在一秒内,它可以选择两个相邻的字母并交换他们的位置。他是否可以通过有限次操作(或者什么也不做)把这个字符串变成一个回文串?如果可以的话,最少要多少秒才可以?请帮他写一个程序计算这个最小时间。 ## Input 输入一行一个字符串,表示 Bytie 所写的单词。这个字符串仅包含 `a` 和 `b` 两种字母。 ## Output 输出一行一个整数,如果可以通过有限次操作将这个字符串变为回文串,输出最小时间,否则输出 $-1$。 [samples] ## Note 对于 $100\%$ 的数据,满足: 字符串长度不超过 $2 \times 10^5$。
Samples
Input #1
abbaaab
Output #1
2
Input #2
ab
Output #2
-1
API Response (JSON)
{
  "problem": {
    "name": "[PA 2022] Palindrom",
    "description": {
      "content": "**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda próbna [Palindrom](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/pal/)** Bytie 参加了计算机俱乐部,因此知道了什么是回文串。回文串是从左向右读和从右向左读一样的单词。比如 `oko`,`",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9251"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "**题目译自 [PA 2022](https://sio2.mimuw.edu.pl/c/pa-2022-1/dashboard/) Runda próbna [Palindrom](https://sio2.mimuw.edu.pl/c/pa-2022-1/p/pal/)**\n\nBytie 参加了计算机俱乐部,因此知道了什么是回文串。回文串是从左向右读和从右向左读一样的单词。比如 `oko`,`...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments