14112: Знайди і заміни-Find and Replace-USACO2023JanSilver


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Бесі працює в новітньому текстовому редакторі miV! Вона починає з вхідного рядка, що складається виключно з великих та маленьких англійських букв і хоче перетворити її на деякий інший рядок. Одним кліком miV! дозволяє їй замінити всі входження однієї англійської літери \(c_1\) у рядку на іншу англійську букву \(c_2\). Наприклад, якщо даний рядок string \(\texttt{aAbBa}\) і \(c_1\) є 'a' і \(c_2\) є 'B', то рядок трансформується на \(\texttt{BAbBB}\).

Для кожного з \(T\) (\(1\le T\le 10\)) незалежних тестів, визначте мінімальну кількість кліків, які потрібно, щоб перетворити вхідний рядок на бажану вихідний.

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

Перший рядок містить \(T\), кількість незалежних підтестів.

Наступні \(T\) пар рядків містять вхідний і вихідний рядок однакової довжини. Всі символи великі або маленькі англійські літери (від A до Z або a до z). Сума довжин всіх рядків не перевищить 10^5.

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

Для кожного тесту виведіть мінімальну кількість кліків, потрібних для перетворення вхідного рядка у вихідний або \(-1\), якщо це зробити неможливо.

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

4
abc
abc
BBC
ABC
abc
bbc
ABCD
BACD

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

0
-1
1
3

У першому підтесті вхідний рядок такий самий як вихідний, кліків не потрібно.

У другому підтесті вхідний рядок не може бути перетворений на вихідний, тому що неможливо перетворити одну букву '\(\texttt{B}\)' на '\(\texttt{A}\)', залишивши незміненою іншу літеру '\(\texttt{B}\)'.

У третьому підтесті вхідний рядок може бути перетворений на вихідний заміною '\(\texttt{a}\)' на '\(\texttt{b}\)'.

Останній вхідний рядок може бути перетворений на вихідний так: \(\texttt{ABCD} \rightarrow \texttt{EBCD} \rightarrow \texttt{EACD} \rightarrow \texttt{BACD}\).

ОЦІНЮВАННЯ:

  • У тестах 2-6: Всі рядки мають довжину не більше \(50\).
  • У тестах 7-9: Всі рядки складаються лише з маленьких букв '\(\texttt{a}\)' - \(\texttt{e}\)'
  • У тестах 10-15: Немає додаткових обмежень.

Коментарі

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