To jest moje pierwsze pytanie tutaj, więc wszelkie sugestie w komentarzach będą mile widziane! Dzięki ;)
Wprowadzenie
Jednym z bardzo wspólna strategia dla 2048 gry jest nigdy przesuwając w dół . To umieszcza wszystkie duże liczby na górze, a dolne na dole. Tak więc, jeśli zastosujesz tę strategię poprawnie, twoja plansza zawsze będzie pasować do następującego wzoru:
Wzór do sprawdzenia / Twoje zadanie
Twoje zgłoszenie powinno być albo pełnym programem, albo funkcją, która zwraca prawdziwą wartość, jeśli tablica może być opisana w następujący sposób: schodząc w dół każdej kolumny tablicy, pierwsza liczba powinna być najwyższa z kolumny, druga liczba powinna być mniejsza równa lub równa pierwszej liczbie itp. Dobra plansza 2048 jest definiowana jako plansza, na której najwyższe liczby znajdują się na górze. To jest golf golfowy , więc wygrywa najkrótszy kod na język (w bajtach).
I / O
Dane wejściowe można pobierać w dowolny odpowiedni sposób, na przykład tablicę 4 tablic, z których każda zawiera 4 liczby lub tablicę 16 liczb. W sumie zawsze będzie to 16 liczb, reprezentujących tablicę 4x4 . Wyjście powinno być prawdziwą wartością wejściową jest „dobra tablica 2048”, a w przeciwnym razie wartość fałsz.
Przykłady
Prawda:
|-------------------|
| 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 | | | |
|-------------------|
Uwaga
Spójrz na drugi przypadek testu fałszowania: gdy gdzieś jest pusta wartość (lub zero), a nawet jeśli po niej następuje wartość wyższa niż ostatnia niezerowa liczba, powinno to być fałszowanie, ponieważ następna wartość po zero byłoby wyższe niż samo zero, co powoduje, że jest ono nieprawidłowe.
Powodzenia!