Pezzi di scacchi (re, regine, corvi, vescovi e cavalieri) e pedine sono su una tavola, ma non sul quadrato a1 o h8 . Il tuo compito è di viaggiare dal vuoto a1 ai vuoti h8 quadrati, passando solo per i quadrati vuoti. Le regole di movimento sono le seguenti:
- Puoi procedere da qualsiasi quadrato vuoto a qualsiasi quadrato vuoto accanto ad esso (stesso rango, file successivo o precedente; o stesso file, rango successivo o precedente).
- Puoi procedere da qualsiasi quadrato vuoto a qualsiasi quadrato vuoto in diagonale accanto ad esso (rango successivo o precedente, file successivo o precedente), a condizione che i quadrati degli angoli catty contengano (a) due pedine o (b) pedine / pezzi di opposti colore. (Due pezzi non pedone, o un pezzo non pedone e un pedone, dello stesso colore sono abbastanza forti da bloccare i tuoi progressi attraverso l'angolo, ma due pedine non lo sono; e pezzi / pedine di colore opposto non funzionano in concerto per impedirti.) Ad esempio, se sei su c4 e d5 è vuoto, puoi procedere a condizione che c5 e d4 contengano pedine o contengano pezzi / pedine di colore opposto. Vedere la sezione "Esempio di diagonali", di seguito, per le immagini.
Ingresso
Descrizione della scheda FEN . Cioè: l'input sarà una stringa che include una descrizione di rango 8 , una barra ( /
), una descrizione di rango 7 , una barra, ... e una descrizione di rango 1 . La descrizione di ogni rango comprende numeri e lettere che vanno dal file a al file h , dove le lettere indicano pezzi e pedine (quelli neri sono p
= pedone, n
= cavaliere, b
= vescovo, r
= torre, q
= regina, k
= re e il bianco quelli sono versioni maiuscole degli stessi) e i numeri indicano il numero successivo di quadrati vuoti. Ad esempio, rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBN
è la tavola dopo una mossa di strato (pedina del re su e4) in una partita a scacchi.
a1 e h8 saranno vuoti nell'input; cioè, la prima barra ha una cifra prima di essa e l'ultima barra ha una cifra dopo di essa.
Produzione
Verità o falsità, indicando se è possibile un passaggio riuscito a h8 .
Se l'input non è una descrizione della scheda FEN valida (ovvero, che corrisponde alla mia spiegazione sopra), o se a1 o h8 è occupato, l'output può essere qualsiasi cosa o nulla. (In altre parole: si può presumere che l'input soddisfi i requisiti di cui sopra.)
punteggio
Questo è il codice golf: vince il minor numero di byte.
Esempio di input e output
Si noti che il codice deve funzionare per tutti gli input validi, non solo per gli esempi.
Aggiungi uno spazio e un w
dopo ogni FEN per visualizzarlo in http://www.dhtmlgoodies.com/scripts/chess-fen/chess-fen-3.html
. (Nota che alcuni altri visualizzatori FEN online non consentiranno una scacchiera illegale negli scacchi, ad esempio con una pedina di grado 1 o 8 , quindi non può essere utilizzata per i nostri scopi.)
Esempi sinceri
8/8/8/8/8/8/8/8
- la tavola vuota1p1Q4/2p1Q3/2p1Q3/2p1Q3/2p1Q3/2p1Q3/Q1p1Q3/1q3q2
- c'è un percorso a1 , b2 , b3 , b4 , b5 , b6 , b7 , c8 , d7 , ( non e8 , che è bloccato, ma) d6 , d5 , d4 , d3 , d2 , d1 , e1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , g8 , h88/8/KKKKK3/K3K3/K1K1p3/Kp1K4/K1KK4/2KK4
- un esempio in cui un quadrato bloccato in un punto deve essere passato più tardi (per assicurarsi di non impostare i quadrati come impraticabili)K1k1K1K1/1K1k1K1k/K1K1k1K1/1k1K1K1k/K1k1K1k1/1K1k1k1K/K1K1k1K1/1k1k1K1k
- c'è un solo percorso (basta seguire il naso: c'è solo un quadrato in cui spostarsi ad ogni passo, a meno che non faccia un passo indietro); questo è anche un esempio in cui un quadrato è bloccato in un punto ma necessario in seguito
Esempi di Falsey
6Q1/5N2/4Q3/3N4/2Q5/1N6/2Q5/1N6
- qualsiasi tentativo di percorso dovrà passare attraverso due pezzi dello stesso colore situati in diagonaleN1q1K1P1/1R1b1p1n/r1B1B1Q1/1p1Q1p1b/B1P1R1N1/1B1P1Q1R/k1k1K1q1/1K1R1P1r
- l'unica via attraverso la diagonale a8-h1 è in f2-g3 , ma ciò richiederebbe il passaggio attraverso e1-d2 o f2-e3 , che sono entrambi impossibili.4Q3/4q3/4Q3/5Q2/6Q1/3QqP2/2Q5/1Q6
4q3/4Q3/4q3/5q2/6q1/3qQp2/2q5/1q6
Diagonali di esempio
Nel caso in cui la prosa sopra non fosse chiara, ecco alcune immagini.
Diagonali passabili
Diagonali impraticabili