Вы хотели написать текст $$$t$$$, состоящий из $$$m$$$ строчных букв латинского алфавита. Но вместо этого вы написали текст $$$s$$$, состоящий из $$$n$$$ строчных букв латинского алфавита, и теперь вы хотите исправить это, получив текст $$$t$$$ из текста $$$s$$$.
Изначально курсор вашего текстового редактора находится в конце текста $$$s$$$ (после последнего символа текста). За один ход вы можете совершить одно из следующих действий:
Ваша задача — посчитать минимальное количество ходов, необходимое для того, чтобы получить текст $$$t$$$ из текста $$$s$$$ при помощи заданного набора действий, или же определить, что невозможно получить текст $$$t$$$ из текста $$$s$$$.
Вам необходимо ответить на $$$T$$$ независимых наборов тестовых данных.
Первая строка входных данных содержит одно целое число $$$T$$$ ($$$1 \le T \le 5000$$$) — количество наборов тестовых данных. Затем следуют $$$T$$$ наборов тестовых данных.
Первая строка набора содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le m \le n \le 5000$$$) — длину $$$s$$$ и длину $$$t$$$, соответственно.
Вторая строка набора содержит строку $$$s$$$, состоящую из $$$n$$$ строчных букв латинского алфавита.
Третья строка набора содержит строку $$$t$$$, состоящую из $$$m$$$ строчных букв латинского алфавита.
Гарантируется, что сумма $$$n$$$ по всем наборам тестовых данных не превосходит $$$5000$$$ ($$$\sum n \le 5000$$$).
Для каждого набора выведите одно целое число — минимальное количество ходов, необходимое для того, чтобы получить текст $$$t$$$ из текста $$$s$$$ при помощи заданного набора действий, или же -1, если невозможно получить текст $$$t$$$ из текста $$$s$$$ в данном наборе тестовых данных.
69 4aaaaaaaaaaaaa7 3abacabaaaa5 4aabcdabcd4 2abbabb6 4barakabaka8 7questionproblem
5 6 3 4 4 -1
Название |
---|