Twoim zadaniem jest więc wzięcie bloku 3x3, w którym -
oznaczają puste miejsca i *
średnie wypełnione miejsca, na przykład:
-**
-*-
*-*
i przestawiaj blok tak, *
aby tworzył X, jak poniżej:
*-*
-*-
*-*
Wejście: kwadraty 3x3 jak wyżej, mogą to być 3 linie, tablica lub dowolnie.
Wyjście: Najkrótsza liczba ruchów, które można przestawić na X. Każdy ruch polega na odwróceniu 2 dotykających się znaków, które są względem siebie poziomo, pionowo od siebie lub ukośnie. Jeśli nie jest to możliwe, zwróć niemożliwe wyjście, na przykład 999
lub -4242
. 5
jest najmniejszą taką liczbą.
Przypadki testowe:
1) Wyjście: 1
-**
-*-
*-*
2) Wyjście: -1
-*-
-*-
*-*
3) Wyjście: 3
---
-**
***
4) Wyjście: 0
*-*
-*-
*-*
Możesz zastąpić puste i niepuste znaki, ale pamiętaj, aby podać, który z nich jest w poście
Code Golf
Pamiętaj, to jest kod golfowy, który wygrywa najkrótszy kod!
*
? Czy możesz dodać więcej przypadków testowych?
*
lub mniejszej niż 5 uniemożliwia.
-1
? Na przykład 5
(inaczej niemożliwe) lub zgłaszasz błąd?
*
i odwrotnie, czy wymieniłeś je?