Надіслати розв'язок

Бали: 15,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Два слова є анаграмами один одного, якщо їх лiтери можна переставити, щоб утворити iнше слово.

У цiй задачi вам дається рядок ~S~. Ви повиннi роздiлити його на два сумiжнi пiдрядки однакової довжини, а потiм визначити мiнiмальну кiлькiсть символiв, якi потрiбно змiнити, щоб перетворити цi два пiдрядки в анаграми.

Наприклад, є рядок ʼabccdeʼ i ви розiбʼєте його на двi частини: ʼabcʼ та ʼcdeʼ. Тепер ви можете змiнити ʼaʼ i ʼbʼ у першому пiдрядку на ʼdʼ i ʼeʼ, щоб мати ʼdecʼ i ʼcdeʼ, якi є анаграмами. Необхiдно було зробити двi змiни.

Формат вхідних даних

Перший рядок мiстить цiле число ~T~ ~(1 \le T \le 100)~ - кiлькiсть тестiв.

Кожен тест мiстить рядок ~S~ ~(1 \le S \le 10^4 )~. Даний рядок буде мiстити лише символи в дiапазонi a..z.

Формат вихідних даних

Для кожного тесту виведiть цiле число - мiнiмальну кiлькiсть змiн, необхiдних для створення анаграми. Якщо це зробити неможливо, то вивести -1.

Приклад вхідних даних

6
aaabbb
ab
abc
mnop
xyyx
xaxbbbxx

Приклад вихідних даних

3
1
-1
2
0
1

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.