II Olimpiada Informatyczna 1994/95

Zadanie: SLO
Autor: Wojciech Rytter
Składanie słów

Zawody III stopnia  
Plik źródłowy: SLO.??? (np. pas, c, cpp)
Plik wykonywalny: SLO.exe
Plik wejściowy: SLO.in
Plik wyjściowy: SLO.out

 

Dane jest słowo w stanowiące wzorzec oraz skończony ciąg niepustych słów C = (w1,,...,wk). W ciągu C trzeba wskazać słowa, które po złączeniu, w takiej kolejności, w jakiej występują w ciągu C, utworzą wzorzec. Rozwiązaniem ma być rosnący ciąg numerów wyrazów danego ciągu C, które po złączeniu utworzą wzorzec. Wzorzec w i każde słowo w ciągu C składają się z co najwyżej 150 małych liter alfabetu angielskiego od 'a' do 'z' i nie zawierają znaków narodowych. Liczba wyrazów w ciągu jest dodatnia i nie większa niż 200.

Przykład

Wzorzec rytter można utworzyć ze słów ciągu C = (ry, r, yt, y, tt, t, e, te, r, er) wybierając kolejno i łącząc wyrazy o numerach (2, 4, 5, 7, 9). Wybranie wyrazów: (1, 5, 10) jest innym sposobem otrzymania tego samego wzorca.

Zadanie

Napisz program, który:

Wejście

Wyjście

W pliku SLO.OUT należy zapisać:

Przykład

Dla pliku SLO.IN:
rytter
10
ry
r
yt
y
tt
t
e
te
r
er

w pliku SLO.OUT można zapisać:
9
2
4
5
7
9

Twój program powinien szukać pliku SLO.IN w katalogu bieżącym i tworzyć plik SLO.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę SLO.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonywalnej powinien być zapisany w pliku SLO.EXE.