Capicúas consecutivos X42529


Statement
 

pdf   zip

Haced un programa que, dados dos números nn y mm y una secuencia de enteros no negativos, indique si la secuencia contiene, en posiciones consecutivas, al menos nn capicúas de exactamente mm cifras.

Un número es capicúa si se lee igual de izquierda a derecha que de derecha a izquierda. Por ejemplo, 77, 121121 y 45544554 son capicúas, pero 123123 no lo es.

La solución debe completar obligatoriamente el esquema siguiente. La función es_capicua() no puede utilizar el tipo string.

// Pre: x es mas grande o igual que 0 y tiene 9 cifras como máximo, 
//      m es un entero entre 1 y 9.
// Post: devuelve true si x tiene exactamente m cifras y es capicúa.
//       Devuelve false en caso contrario. 
bool es_capicua(int x, int m) {
    ....
}

int main() {
    ....
}

Advertencia: no utilicéis el tipo string en la función es_capicua().

Entrada

La entrada consiste en dos enteros nn y mm, con n>0n > 0 y 1≤m≤91 \le m \le 9, seguidos de una secuencia arbitrariamente larga de enteros no negativos de 99 cifras como máximo.

Salida

Hay que escribir TRUE si la secuencia contiene, en posiciones consecutivas, al menos nn números capicúas de mm cifras, y FALSE en caso contrario.

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
    Spanish
    Translator
    Pro1
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++