apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

fragm Garākais fragments 1 sek.


 Uzdevums

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!

 
 Ievaddati

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.

 
 Izvaddati

Teksta faila fragm.rez vienīgajā rindā jāizvada naturāls skaitlis - garākā vienādo simbolu fragmenta garums.

 
 Piemērs

fragm.datfragm.rezPiezīme
5
a
S
S
a
a
3
Pēc pārgriešanas un salīmēšanas var iegūt, piemēram, virkni 'SaaaS' un trīs secīgie 'a' veido garāko fragmentu.
  
fragm.datfragm.rezPiezīme
12
r
e
e
e
e
f
g
R
R
R
R
r
4
Strēmeli var pārgriezt jebkurā vietā, bet garāko fragmentu veidos četri secīgi simboli 'e' vai 'R'.

 
 Atsauces
Uzdevums izmantots Latvijas 20. informātikas olimpiādes II (rajona) kārtā.

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS