Jack i Jane postanowili zagrać w szachy, aby spędzić czas z dala. Niestety, Jack jest kiepski w wizualizacji. Oczywiście ciężko jest mu określić ruchy danego pionka innego niż pionek!
Twoim wyzwaniem jest pomoc Jackowi w znalezieniu możliwych opcji dla danego pionka (innego niż pionek).
W przypadku zapomnienia różne elementy są oznaczone:
- K: King
- P: Królowa
- N: Rycerz
- B: Biskupie
- R: Gawron
Jako przykład, na poniższym obrazie skoczek znajduje się na d4
i może poruszać się c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Dla danych wejściowych:
Nd4
wyprodukowałbyś:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Zasady:
- Kolejność danych wyjściowych nie ma znaczenia, dopóki wymienione są wszystkie możliwe ruchy
- Możliwe ruchy można rozdzielić spacjami, znakami nowej linii lub dowolnym innym ogranicznikiem
- Dane wejściowe można przekazać do programu jako parametr lub przez
STDIN
- Białe spacje w programie będą liczone, więc optymalnie je wykorzystaj
To jest kod golfowy. (Unikaj korzystania z narzędzi / narzędzi specjalnie zaprojektowanych do tego celu.) Zwycięża najkrótsza odpowiedź!
f(x)... case "Q": {f("B");f("R")}
jeśli funkcja wymaga któregokolwiek #include, powinny one być częścią liczby bajtów.