Capicues consecutius X42529


Statement
 

pdf   zip

Feu un programa que, donats dos nombres nn i mm i una seqüència d’enters no negatius, indiqui si la seqüència conté, en posicions consecutives, almenys nn capicues d’exactament mm xifres.

Un nombre és capicua si es llegeix igual d’esquerra a dreta que de dreta a esquerra. Per exemple, 77, 121121 i 45544554 són capicues, però 123123 no ho és.

La solució ha de completar obligatòriament l’esquema següent. La funció es_capicua() no pot utilitzar el tipus string.

// Pre: x és mes gran o igual que 0 i té 9 xifres com a màxim, 
//      m és un enter entre 1 i 9.
// Post: Retorna true si x té exactament m xifres i és capicua.
//       Retorna false en cas contrari.
bool es_capicua(int x, int m) {
    ....
}

int main() {
    ....
}

Advertència: no feu servir el tipus string a la funció es_capicua().

Entrada

L’entrada consisteix en dos enters nn i mm, amb n>0n > 0 i 1≤m≤91 \le m \le 9, seguits d’una seqüència arbitràriament llarga d’enters no negatius de 99 xifres com a màxim.

Sortida

Cal escriure TRUE si la seqüència conté, en posicions consecutives, almenys nn nombres capicues de mm xifres, i FALSE en cas contrari.

Public test cases
  • Input

    2 3
    121 55 333 12321 545 202 7
    
    

    Output

    TRUE
    
  • Input

    3 3
    112 121 212 2222
    

    Output

    FALSE
    
  • Input

    3 2
    11 353 22 55 56
    

    Output

    FALSE
    
  • Input

    1 1
    0 11 22 33
    

    Output

    TRUE
    
  • Input

    1 1
    
    

    Output

    FALSE
    
  • Information
    Author
    Pro1
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++