Sopa de letras II
Tiempo límite
3 s
Memoria límite
256 MB
Casos de prueba
8
Dada una grilla de letras y una lista de palabras distintas, encuentra todas las palabras que se pueden formar en la grilla: se empieza en cualquier celda y se avanza a celdas vecinas (arriba, abajo, izquierda o derecha), sin usar la misma celda dos veces en una palabra.
Entrada
La primera línea tiene \(R\) y \(C\) \((1 \le R, C \le 12)\). Siguen \(R\) líneas con \(C\) letras minúsculas cada una. Luego una línea con \(k\) \((1 \le k \le 3 \cdot 10^4)\) y otra con las \(k\) palabras, distintas y de entre \(1\) y \(12\) letras.
Salida
La primera línea tiene la cantidad de palabras encontradas. La segunda, las palabras en orden lexicográfico, separadas por espacios (vacía si no hay ninguna).
Ejemplo 1
Entrada
4 4
oaan
etae
ihkr
iflv
4
oath pea eat rain
Salida
2
eat oath
Ejemplo 2
Entrada
2 2
ab
cd
1
abcb
Salida
0
Comentarios