Similar a esta pregunta , ¡pero esta es una variación de crucigramas!
En lugar de solo una letra por cuadrícula, puede tener una o dos .
Entrada:
- Una matriz 2D, o lo que sea que funcione en tu idioma.
- Puede asumir entradas válidas
- Cualquier tamaño de matriz debe funcionar
Salida:
- Un conjunto de todas las palabras.
- De un lado a otro
- Todas las palabras deben estar unidas, es decir, vinculadas en una cadena ininterrumpida de palabras (si no devuelve falso)
- Las palabras deben ser al menos dos cuadrados de cuadrícula , no letras
Ejemplo:
[["", "wo", "r", "k"],
[ "", "r", "", ""],
[ "he", "l", "lo", ""],
[ "", "d", "ad", ""]]
Devoluciones:
["work", "world", "hello", "load", "dad"]
Ejemplo:
[["he", "ll", "o"],
[ "", "", ""],
[ "wo", "r", "ld"]]
Devoluciones:
false
Este es el código más rápido , así que lo ejecutaré en Windows 7 con 2.5 ghz y 16 gb de ram. Si su código es realmente esotérico, proporcione un enlace al compilador para que realmente pueda ejecutarlo.
string
fastest-code
crossword
epicbob57
fuente
fuente
Respuestas:
Python 3
Uso:
La función toma una matriz de matriz de cadenas como entrada:
crosswords( [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]])
Devuelve la cadena.
false
cuando la conectividad devuelve múltiples etiquetas. Devuelve una matriz de palabras válidas de lo contrario.Lo cronometré con
timeit
,time.time()
y usando el comando de la consola,time
pero no sé cuál usar o cuál publicar aquí.fuente