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" використовуючи наступні операції

  1. Замінити перший або останній символ на протилежний (тобто, 'M' на 'O', а 'O' на 'M').
  2. Видалити перший або останній символ.
  3. </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: Немає додаткових обмежень.

Коментарі

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