Uz garas papīra strēmeles ir uzrakstīta simbolu virkne. Šajā virknē var būt latīņu alfabēta lielie un mazie burti un cipari. Strēmeli drīkst vienā vietā pārgriezt, apmainīt sākuma un beigu daļas vietām un tās salīmēt:
Mūs interesē pēc iespējas garāki jaunizveidotās virknes fragmenti (pēc kārtas sekojošu simbolu apakšvirknes), kas sastāv no vienādiem simboliem. Piemēram, no sākotnējās virknes 'abrakadabra' pēc pārgriešanas/salīmēšanas var iegūt virkni 'kadabraabra', kurā divi pēc kārtas sekojošie 'a' veido garāko fragmentu. Ievērojiet, ka lielie un mazie burti ir atšķirīgi simboli, tāpēc, piemēram, garākais vienādo simbolu fragments virknē '1aAaabBBBbaAAaa2' ir 'BBB'. Uzrakstiet programmu, kas nosaka, kāds ir garākā fragmenta, kas sastāv no vienādiem simboliem, garums!
Teksta faila fragm.dat pirmajā rindā dots naturāls skaitlis N (1 < N ≤ 100 000) - uz strēmeles uzrakstītās simbolu virknes garums. Katrā no nākošajām N faila rindām dots viens simbols. Katram i (1 ≤ i ≤ N) faila (i+1)-ajā rindā dots virknes i-tais simbols.
Teksta faila fragm.rez vienīgajā rindā jāizvada naturāls skaitlis - garākā vienādo simbolu fragmenta garums.
|
Copyright © 2001 Girts Folkmanis, LIIS |