Wyzwanie:
Biorąc pod uwagę szachownicę, wypuszczaj najmniejszą liczbę ruchów, którą byś potrzebował (zakładając, że czarny w ogóle się nie rusza), aby królem czerwony kawałek, jeśli to możliwe.
Zasady :
Strona Czerwona zawsze będzie na dole, jednak ich pionki mogą zaczynać się w dowolnym rzędzie (nawet w rzędzie króla, do którego muszą się dostać). Czarne pionki są nieruchome , co oznacza, że nie poruszają się między ruchami czerwieni, ale zostają schwytane z planszy. Pamiętaj, że pionki mogą zaczynać się na dowolnym polu na planszy, w tym obok siebie. Nie gra się w normalne warcaby, ale twój program musi być w stanie je rozwiązać. (Patrz wejście 5) Jednak elementy kontrolne mogą poruszać się tylko po przekątnej (patrz wejście 3). Przechwytywanie wstecz jest dozwolone, jeśli pierwsze przechwytywanie jest do przodu w łańcuchu (patrz dane wejściowe 7).
Wejście:
Szachownica 8x8, ze spacjami na planszy zdefiniowanymi jako następujące postacie (możesz swobodnie korzystać z alternatyw, o ile są spójne):
. - Pusty
R - Czerwony kawałek (i)
B - Czarny kawałek (i)
Wynik:
Najmniejszą liczbę ruchów zajęłoby czerwony kawałek za „kinged” wpisując wiersz królewskiego w górnym rzędzie na pokładzie (bocznej Blacka), 0 jeśli nie są wymagane żadne ruchy (czerwony kawałek rozpoczęto rzędu królewskim), lub liczba ujemna, jeśli nie jest możliwe królem czerwony kawałek (tzn. czarny zajmuje cały jego pierwszy rząd).
Wejście 1:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Wyjście 1:
7
Wejście 2:
. . . . . . . .
. . . . . . . .
. . . . . B . .
. . . . . . . .
. . . B . . . .
. . . . . . . .
. B . . . . . .
R . . . . . . .
Wyjście 2:
2
Wejście 3:
. B . B . B . B
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Wyjście 3:
-1
Wejście 4:
. . . . . . . R
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Wyjście 4:
0
Wejście 5:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. B . . B . . .
B . . . . B . .
. B . B . . . .
. . B . . B . .
. . . R R . . .
Wyjście 5:
4
Wejście 6:
. . . . . . . .
. . . . . . . .
. B . . . . . .
. . B . . . . .
. B . B . . . .
. . . . R . . .
. . . B . . . .
. . . . R . . .
Wyjście 6:
2
Wejście 7:
. . . . . . . .
. . . . . . . .
. . B . . . . .
. . . . . . . .
. . B . . . . .
. B . B . B . .
. . . . B . . .
. . . . . R . R
Wyjście 7:
4
Punktacja:
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.
Odpowiedzi:
JavaScript (ES6),
354322 bajtówPobiera tablicę jako dane wejściowe z:
Zwraca optymalną liczbę ruchów lub 99, jeśli nie ma rozwiązania.
Jest bardzo szybki, ale można grać w golfa znacznie więcej.
źródło