Zadanie F — Słowny łańcuszek
Transkrypt
Zadanie F — Słowny łańcuszek
Mistrzostwa Politechniki Śląskiej w Programowaniu 20-05-2007 Zadanie F — Słowny łańcuszek Jedna z odmian gry w słowny łańcuszek polega na dołączaniu do wyrazu poprzedniego kolejnego tak, aby pierwsze dwie litery wyrazu następnego i dwie ostatnie poprzedniego były identyczne. Przykładowo poprawnym łańcuszkiem jest: c e l e m e n t a r z e k a w a k a c j e d e n (łańcuszek złożony jest ze słów: „cel”, „elementarz”, „rzeka”, „kawa”, „wakacje”, „ jeden”) Twoim zadaniem jest znaleźć najkrótszy łańcuszek, który zaczyna się i kończy określoną literą. W łańcuszku możesz użyć tylko tych wyrazów, które znajdą się w danych wejściowych. Specyfikacja wejścia W pierwszym wierszu znajduje się pojedyncza liczba z - liczba zestawów testowych. Na każdy zestaw składają się następujące dane: • liczba dopuszczalnych wyrazów e (1 ¬ e ¬ 500000), • e wierszy zawierających dopuszczalne wyrazy (wyraz - ciąg małych liter alfabetu angielskiego o długości nie mniejszej od 2 i nie większej od 1000), • dwie litery lp i lk , oddzielone pojedynczym znakiem odstępu - pierwsza i ostatnia litera szukanego łańcuszka. Specyfikacja wyjścia Dla każdego zestawu należy wypisać jeden wiersz zawierający liczbę całkowitą - długość najkrótszego łańcuszka zaczynającego się literą lp , a kończącego literą lk . Jeśli nie da się stworzyć takiego łańcuszka, należy wypisać wyraz BRAK. Mistrzostwa Politechniki Śląskiej w Programowaniu Przykładowe wejście 3 5 asigjrldi flidgkfgj dilgidrfl asdi trlkfjelsi a j 5 asigjrldi flidgkfgj dilgidrfl asdi trlkfjelsi b l 1 zawody z y Przykładowe wyjście 18 BRAK 6 20-05-2007