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