Takuzu to gra logiczna, w której musisz wypełnić siatkę komórkami zawierającymi 0s i 1s. Siatka musi spełniać 3 zasady:
- Żadne trzy kolejne poziome lub pionowe komórki nie mogą być takie same.
- W każdym rzędzie i kolumnie musi znajdować się taka sama liczba
0si1. - Żadne dwa wiersze nie mogą być takie same i żadne dwie kolumny nie mogą być takie same.
Spójrzmy na gotową siatkę:
0011
1100
0101
1010
Jak widać, ta płyta następująca reguła 1, 2i 3. Nie ma trzech poziomych lub pionowych komórek, które są takie same, wszystkie wiersze i kolumny zawierają taką samą liczbę 0si 1si, i nie ma dwóch wierszy i żadnych dwóch kolumn.
Spójrzmy na niepoprawną siatkę:
110100
010011
011010
101100
100011
001101
Jest wiele problemów z tą siatką. Na przykład wiersz 5ma trzy 0s z rzędu, a kolumna 2ma trzy 1s z rzędu, a następnie trzy 0s. Dlatego nie jest to poprawna siatka.
Zadanie:
Twoim zadaniem jest, aby program, który, biorąc pod uwagę tablicę 2D n* n 0s i 1s weryfikuje planszę, aby zobaczyć, czy jest to poprawny, wykończone deska Takuzu.
Przykłady:
0011
1100
0101
1010
Ta tablica spełnia wszystkie zasady i dlatego jest prawidłową tablicą Takuzu. Musisz zwrócić za to prawdziwą wartość.
11
00
To nie jest prawidłowa tablica - rząd 1nie przestrzega reguły 2. Musisz zwrócić za to wartość falsey.
100110
101001
010101
100110
011010
011001
To nie jest prawidłowa plansza, zawodzi (tylko) z powodu reguły 3 - pierwszy i czwarty rząd są takie same.
110100
001011
010011
101100
100110
011001
To nie jest poprawna plansza, nie powiedzie się (tylko) z powodu reguły 3 - pierwsza i czwarta kolumna są takie same.
011010
010101
101100
010011
100110
101001
To jest ważna tablica.
Zasady i specyfikacje:
- Możesz założyć, że wszystkie tablice mają kwadratowe wymiary
n * n, gdziendodatnia liczba parzysta jest liczbą całkowitą. - Możesz założyć, że wszystkie tablice są gotowe.
- Dane wejściowe można traktować jako tablicę 2D zawierającą wartości oznaczające
0i1lub ciąg znaków. - Musisz generować spójne wartości prawdy i falseya dla tablic prawdy i falseya, a wartości reprezentujące „prawdę” i „falsey” nie mogą być takie same.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!