Redni broj podniza (String)


Opis zadatka:

Ulazni podaci su dva niza znakova (stringa), s1 i s2. Prvi string s1 je podniz znakova stringa s2 (koji ne moraju biti uzastopni). S je skup svih mogućih nepraznih podnizova različitih dužina niza s2, uređen abecednim redom (leksikografski). Potrebno je odrediti redni broj niza s1 unutar skupa S.

Napomena: Poredak po abecednom redu bi npr. za s1 = s2 = AF značio da je skup S podnizova niza s1 poredanih po abecedi A, AF, F, tj. s1 = AF za s2 = AF ima redni broj 2. Također, za s2 = EHH je redoslijed u skupu S dat sa E, EH, EHH, H, HH, pa s1 = H ima redni broj 4.

Izvršni program treba da se nalazi u direktoriju C:\BHOI2003 pod imenom STRING.EXE.

Ulazna datoteka:

Ulazni podaci se nalaze u tekstualnoj datoteci STRING.IN. U prvom redu se nalazi niz znakova s1, a u drugom redu niz znakova s2. Svaki znak u tim nizovima je jedno od 26 velikih slova engleske abecede. Znak sa većim ASCII kodom se nikada neće naći ispred znaka sa manjim ASCII kodom. Ukupan broj znakova u bilo kojem nizu znakova je manji ili jednak od 40.

Izlazna datoteka:

U prvi i jedini red izlazne tekstualne datoteke STRING.OUT potrebno je zapisati redni broj niza s1 unutar skupa podnizova niza s2 iz teksta zadatka.

Vremensko ograničenje:

Za svaki testni primjer program treba da ponudi rješenje za najviše 10 sekundi.

Primjeri:

STRING.IN
AF
AF
STRING.OUT
2
STRING.IN
H
EHH
STRING.OUT
4
STRING.IN
BCC
AABCC
STRING.OUT
15
[Testni podaci]     [Rješenje (Pascal)]     [Rješenje (C++)]    

Nazad na izbor zadataka
Nazad na glavnu stranicu