Primer submot repetit de mida 3 X98718


Statement
 

pdf   zip

html

Implementeu un programa tal que, donada una seqüència de caràcters sobre {a,b}, digui quin és el primer submot de mida 3 que es repeteix si els comencem a llegir des del principi, i en quina posició es produeix aquesta primera repetició (les posicions se suposen indexades començant des de 0).

Considerem repeticions incloent encavalcaments. Per exemple, en la seqüència ababa, el submot aba té mida 3 i es repeteix per primer cop a posició 2.

Es garantitza que hi haurà com a mínim una repetició d’algun submot de mida 3.

Entrada

L’entrada conté una única línia amb una seqüència de caràcters consecutius sobre {a,b}. Es garantitza que algún submot de mida 3 apareix més d’un cop a la seqüència.

Sortida

La sortida conté el primer submot de mida 3 que es repeteix, i la posició del primer caràcter de la primera repetició (indexant les posicions des de 0). Aquestes dades han d’aparéixer en una línia i separades per un espai en blanc.

Observació

No utilitzeu strings ni cap altre mètode d’emmagatzemament massiu de dades. Llegiu i tracteu l’entrada caràcter a caràcter. Si us plau, procureu no continuar llegint l’entrada quan ja no sigui necessari.

Public test cases
  • Input

    bbbaaaaaabaaababababaaabbbbbbabbaabbbabbabbaaaaa
    

    Output

    aaa 4
    
  • Input

    aaabbaabbbaaabaaababaababbaaaababaaabbaabaabbbbb
    

    Output

    aab 5
    
  • Input

    abbbaaababaabaaaabaabbaaabbbabbaabab
    

    Output

    aba 8
    
  • Input

    aaabbabbabbaaaba
    

    Output

    abb 5
    
  • Input

    baaababbbaaababbb
    

    Output

    baa 8
    
  • Input

    aabbababaabbb
    

    Output

    bab 5
    
  • Input

    bbabaaabbabbaabaaabbbbaabababaaaabaaaababa
    

    Output

    bba 7
    
  • Input

    bbbaaababbbabbbbbbabb
    

    Output

    bbb 8
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Other languages
    English Spanish
    Official solutions
    C++
    User solutions
    C++