Jack e Jane decisero di giocare a scacchi per passare il tempo. Sfortunatamente, Jack è piuttosto cattivo nel visualizzare. Trova difficile capire le mosse possibili per un dato pezzo diverso da una pedina, ovviamente!
La tua sfida è di aiutare a trovare a Jack le possibili opzioni per un dato pezzo (diverso da una pedina).
Nel caso in cui uno ha dimenticato, i vari pezzi sono indicati da:
- K: Re
- Q: Queen
- N: Cavaliere
- B: vescovo
- R: Torre
A titolo di esempio, nella figura seguente il cavaliere si trova d4
e può spostarsi c2
, b3
, b5
, c6
, e6
, f5
, f3
, e2
. Per un dato input:
Nd4
produrrai:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
Regole:
- L'ordine dell'output non ha importanza fino a quando sono elencate tutte le mosse possibili
- Le mosse possibili possono essere separate da spazi bianchi, newline o qualsiasi altro delimitatore
- L'ingresso può essere passato al programma come parametro o via
STDIN
- Gli spazi bianchi nel programma devono essere conteggiati, quindi sfruttali in modo ottimale
Questo è il codice golf. (Evitare di utilizzare qualsiasi strumento / utilità appositamente progettato per lo scopo.) Vince la risposta più breve!
f(x)... case "Q": {f("B");f("R")}
se la funzione richiede #include, questi dovrebbero far parte del conteggio dei byte.