![]() |
![]() ![]() | |||
|
![]() | |||
![]() | Zadanie: Okresy słówDostępna pamięc: 32 MBNapisem nazywamy każdy skończony ciąg małych liter
alfabetu angielskiego.
W szczególności może to być ciąg pusty.
Zapis A = BC oznacza, że A jest napisem powstałym przez
sklejenie napisów B i C (w tej kolejności).
Napis P jest prefiksem napisu A, jeżeli istnieje
taki napis B, że A = PB.
Inaczej mówiąc, prefiksy A to początkowe fragmenty A.
Jeśli dodatkowo P Napis Q jest okresem A, jeśli Q jest prefiksem właściwym A oraz A jest prefiksem (niekoniecznie właściwym) napisu QQ. Przykładowo, napisy abab i ababab są okresami napisu abababa. Maksymalnym okresem napisu A nazywamy najdłuższy z jego okresów, lub napis pusty, jeśli A nie posiada okresu. Dla przykładu, maksymalnym okresem napisu ababab jest abab. Maksymalnym okresem abc jest napis pusty.
ZadanieNapisz program, który:
WejścieW pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita k ( 1![]() ![]()
WyjścieW pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien zapisać jedną liczbę -- sumę długości maksymalnych okresów wszystkich prefiksów napisu zadanego na wejściu.
PrzykładDla danych wejściowych:8 babababapoprawną odpowiedzią jest: 24 ![]() Wersja do druku |