14111: Му операції-Moo Operations-USACO2022JanBronze
Відправити розв'язок
Бали:
100 (partial)
Time limit:
2.0s
Memory limit:
500M
Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js
Фермер Джон дав Бесі \(Q\) рядків (\(1 \leq Q \leq 100\)), що складаються лише із символів 'M' і 'O.' Улюблене слово Бесі "MOO", тому вона хоче перетворити кожен з цих рядків у рядок "MOO" використовуючи наступні операції
- Замінити перший або останній символ на протилежний (тобто, 'M' на 'O', а 'O' на 'M').
- Видалити перший або останній символ. </ol>
Для кожного рядка визначте мінімальну кількість операцій, необхідних щоб сформувати 'MOO' або виведіть '-1', якщо це неможливо.
Формат вхідних даних
Перший рядок містить \(Q\).
Кожен із наступних \(Q\) рядків введення містить рядок із символів 'M' або 'O'. Кожен рядок має довжину від 1 до 100 символів.
Формат вихідних даних
Виведіть відповідь для кожного вхідного рядка в окремому рядку.
Приклад вхідних даних
3
MOMMOM
MMO
MOO
Приклад вихідних даних
4
-1
0
Послідовність з \(4\) операцій, що перетворює перший рядок на 'MOO' така:
Замінити останній символ на O (операція 1) Видалити перший символ (операція 2) Видалити перший символ (операція 2) Видалити перший символ (операція 2)
Другий рядок не може бути трансформований у 'MOO'. Третій рядок вже 'MOO'. Не потрібні операції.
ОЦІНЮВАННЯ:
- У тестах 2-4: кожен рядок має довжину не більше \(3\).
- У тестах 5-11: Немає додаткових обмежень.
Коментарі