Sopa de cartas P20995


Statement
 

pdf   zip

thehtml

Se tiene una sopa de letras formada por cartas inglesas (A, 2, 3, …, 9, T, J, Q, K). Se te pide que encuentres (y marques) secuencias de una misma carta repetida (pareja, trío, poker, etc.) o secuencias de cartas de valores consecutivos (escaleras), en cualquier sentido (horizontal, vertical o diagonal). En concreto, tienes que descubrir cuál es el tamaño de secuencia máximo, y marcar en la “sopa de cartas” todas las secuencias de dicho tamaño. Por ejemplo, en la sopa de cartas

AA974JK
A237444
A986458
KA25986

es fácil ver que la secuencia máxima tiene tamaño 3: hay un trío de ases, dos tríos de 4, y cuatro escaleras de tres cartas, incluyendo la escalera KA2, puesto que suponemos que un as sigue a un rey. Si marcamos cada carta perteneciente a una (o más) de estas secuencias con una x, obtenemos

xA97xJK
xxxxxxx
x98xxx8
xxxx98x

Entrada

Cada entrada contiene una línea con el número de filas F y el número de columnas C de la sopa de cartas. A continuación vienen F líneas de C caracteres cada una de entre A, 2, 3, …, 9, T, J, Q, K.

Salida

F líneas, con la sopa de cartas donde se ha marcado con x cada carta que pertenecía a una secuencia de tamaño máximo (ese tamaño puede ser 1, fíjate en el ejemplo 3).

Puntuación

  • TestA:  ‍ Resolver casos con F=1, 1≤ C≤ 20.  ‍25 Puntos ‍
  • TestA:  ‍ Resolver casos con 1≤ F=C≤ 20.  ‍15 Puntos ‍
  • TestA:  ‍ Resolver casos con 1≤ F, C≤ 20.  ‍15 Puntos ‍
  • TestA:  ‍ Resolver casos con 1≤ F, C≤ 200.  ‍25 Puntos ‍
  • TestA:  ‍ Resolver casos con 1≤ F, C≤ 1000.  ‍20 Puntos ‍
Public test cases
  • Input

    1 10
    3AAA24J2AK
    

    Output

    3xxx24Jxxx
    
  • Input

    4 7
    AA974JK
    A237444
    A986458
    KA25986
    

    Output

    xA97xJK
    xxxxxxx
    x98xxx8
    xxxx98x
    
  • Input

    1 4
    357A
    

    Output

    xxxx
    
  • Input

    7 16
    QJJQQQQQQQJJQQQQ
    JQJQQQQJJJJQQQQQ
    QQQJJQJQJQQQJQQQ
    QJQQJQQQQJQQQQQJ
    JJQQQQQJQQQQQQQJ
    QJJQJQQJQQQJQJQQ
    QJQQQQQQJQQQQQQQ
    

    Output

    xJJxxxxxxxJJQxxx
    JxJQQxxJJJJQxQxQ
    QQxJJxJxJQQxJxxQ
    QJQxJxQQxJxQxQxJ
    JJQQxxQJxxxxxxxJ
    QJJQJxQJxQxJQJxQ
    QJQQQxxxJxxxxxxx
    
  • Input

    3 16
    5888888888888885
    5AKQJT98765432A5
    5888888888888855

    Output

    5xxxxxxxxxxxxxx5
    5xxxxxxxxxxxxxx5
    5888888888888855
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++