Esta es mi primera pregunta aquí, por lo que cualquier sugerencia en los comentarios sería apreciada. Gracias ;)
Introducción
Una estrategia muy común para el juego 2048 es nunca deslizar hacia abajo . Esto coloca todos los números grandes en la parte superior y los más bajos en la parte inferior. Entonces, si aplica esta estrategia correctamente, su tablero siempre coincidirá con el siguiente patrón:
El patrón para verificar / Su tarea
Su envío debe ser un programa completo o una función que devuelva un valor verdadero si el tablero se puede describir así: bajando cada columna del tablero, el primer número debe ser el más alto de la columna, el segundo número debe ser menor igual o igual que el primer número, etc. Un buen tablero de 2048 se define como un tablero donde los números más altos están todos en la parte superior. Este es el código de golf , por lo que gana el código más corto por idioma (en bytes).
I / O
La entrada se puede tomar de cualquier manera apropiada, por ejemplo, una matriz de 4 matrices, cada una con 4 números, o una matriz de 16 números. En total, siempre serán 16 números, que representan la placa 4x4. La salida debe ser un valor verdadero de la entrada es una "placa 2048 buena", y un valor falso de lo contrario.
Ejemplos
Verdad:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 8 |
|-------------------|
| 4 | | 32 | 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 128| 32 | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Falsy
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 16 |
|-------------------|
| 32 | | 128| 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 32| | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Nota
Mire el segundo caso de prueba de falsedad: cuando hay un valor vacío (o un 0) en algún lugar e incluso cuando es seguido por un valor que es más alto que el último número distinto de cero, esto debería ser falso, porque el siguiente valor después de cero sería más alto que el 0 en sí mismo, lo que lo hace inválido.
¡Buena suerte!