Вдохновением для задачи послужила история компании Pied Piper. После анонса технологии Nucleus со стороны конкурирующей компании Hooli Ричард при содействии друзей изобрёл принципиально новый подход к сжатию: «из середины наружу».
Вам даны две строки $$$s$$$ и $$$t$$$ одинаковой длины $$$n$$$. Пронумеруем их символы то $$$1$$$ до $$$n$$$ слева направо (т.е. от начала к концу)
За один ход вы можете сделать следующую последовательность действий:
Заметим, что длина строки $$$s$$$ в результате хода не поменяется. Вы можете применить ход только к строке $$$s$$$.
Например, если $$$s=$$$«test», то за один ход можно получить:
Вы хотите преобразовать строку $$$s$$$ в строку $$$t$$$. Какое минимальное количество ходов для этого потребуется? Если преобразовать $$$s$$$ в $$$t$$$ невозможно, выведите -1.
Первая строка содержит одно целое число $$$q$$$ ($$$1 \le q \le 100$$$) — количество наборов входных данных в тесте.
Описание каждого набора состоит из трёх строк. Первая строка содержит одно целое число $$$n$$$ ($$$1 \le n \le 100$$$) — длину строк $$$s$$$ и $$$t$$$. Вторая строка содержит строку $$$s$$$, третья строка содержит строку $$$t$$$. Строки $$$s$$$ и $$$t$$$ имеют длину $$$n$$$ и состоят только из строчных латинских букв.
Обратите внимание, что нет каких-либо ограничений на сумму значений $$$n$$$ во входных данных (т.е. тест с $$$q=100$$$ и всеми $$$n=100$$$ допустим).
Для каждого набора входных данных выведите минимальное количество ходов, которое нужно чтобы превратить $$$s$$$ в $$$t$$$ или -1, если это сделать невозможно.
3 9 iredppipe piedpiper 4 estt test 4 tste test
2 1 2
4 1 a z 5 adhas dasha 5 aashd dasha 5 aahsd dasha
-1 2 2 3
В первом примере, ходы в одном из оптимальных ответов выглядят следующим образом:
Название |
---|