Potongan-potongan catur (raja, ratu, benteng, uskup, dan ksatria) dan pion ada di papan, tetapi tidak di kotak a1 atau h8 . Tugas Anda adalah melakukan perjalanan dari a1 kosong ke kotak h8 kosong , hanya melewati kotak kosong. Aturan pergerakan adalah sebagai berikut:
- Anda dapat melanjutkan dari setiap kotak kosong ke kotak kosong di sebelahnya (peringkat yang sama, file berikutnya atau sebelumnya; atau file yang sama, peringkat berikutnya atau sebelumnya).
- Anda dapat melanjutkan dari sembarang kotak kosong ke kotak kosong mana saja secara diagonal di sebelahnya (pangkat berikutnya atau sebelumnya, berikutnya atau sebelumnya), asalkan kotak kati-sudut berisi (a) dua pion atau (b) pion / potongan yang berlawanan warna. (Dua potong non-bidak, atau non-bidak dan bidak, dengan warna yang sama cukup kuat untuk menghalangi kemajuan Anda di sudut, tetapi dua bidak tidak; dan bidak / bidak dengan warna yang berlawanan tidak bekerja di konser untuk menghalangi jalan Anda.) Misalnya, jika Anda menggunakan c4 dan d5 kosong, Anda dapat melanjutkan ke itu asalkan c5 dan d4 berisi pion atau berisi potongan / pion dengan warna yang berlawanan. Lihat bagian "Contoh diagonal", di bawah, untuk gambar.
Memasukkan
Deskripsi papan FEN . Yaitu: Input akan berupa string yang mencakup deskripsi peringkat 8 , garis miring ( /
), deskripsi peringkat 7 , garis miring, ..., dan deskripsi peringkat 1 . Deskripsi setiap peringkat terdiri dari angka dan huruf yang berjalan dari file a ke file h , di mana huruf menunjukkan potongan dan pion (yang hitam adalah p
= pion, n
= ksatria, b
= uskup, r
= benteng, q
= ratu, k
= raja, dan putih yang merupakan versi kapital dari yang sama) dan angka-angka menunjukkan jumlah kuadrat kosong berturut-turut. Sebagai contoh, rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBN
adalah papan setelah satu langkah (pion raja ke e4) dalam permainan catur.
a1 dan h8 akan kosong dalam input; yaitu, garis miring pertama memiliki angka di depannya, dan garis miring terakhir memiliki angka di belakangnya.
Keluaran
Truthy or falsey, menunjukkan apakah berhasil menuju h8 adalah mungkin.
Jika input bukan deskripsi papan FEN yang valid (artinya, yang cocok dengan penjelasan saya di atas), atau jika a1 atau h8 ditempati, maka outputnya bisa apa saja atau tidak sama sekali. (Dengan kata lain: Anda dapat menganggap input memenuhi persyaratan di atas.)
Mencetak gol
Ini adalah kode golf: byte paling sedikit menang.
Contoh input dan output
Perhatikan bahwa kode Anda harus bekerja untuk semua input yang valid, tidak hanya contoh.
Tambahkan spasi dan w
setelah setiap FEN untuk memvisualisasikannya di http://www.dhtmlgoodies.com/scripts/chess-fen/chess-fen-3.html
. (Perhatikan bahwa beberapa visualisator FEN online lainnya tidak akan mengizinkan papan yang ilegal dalam catur, misalnya dengan pion pada peringkat 1 atau 8 , jadi tidak dapat digunakan untuk tujuan kita.)
Contoh yang benar
8/8/8/8/8/8/8/8
- papan kosong1p1Q4/2p1Q3/2p1Q3/2p1Q3/2p1Q3/2p1Q3/Q1p1Q3/1q3q2
- ada jalur a1 , b2 , b3 , b4 , b5 , b6 , b7 , c8 , d7 , ( bukan e8 , yang diblokir, tetapi) d6 , d5 , d4 , d3 , d2 , d1 , d1 , e1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , g8 , h88/8/KKKKK3/K3K3/K1K1p3/Kp1K4/K1KK4/2KK4
- contoh di mana kotak yang diblokir pada satu titik harus melewati nanti (untuk memastikan Anda tidak menetapkan kotak sebagai tidak bisa dilewati)K1k1K1K1/1K1k1K1k/K1K1k1K1/1k1K1K1k/K1k1K1k1/1K1k1k1K/K1K1k1K1/1k1k1K1k
- ada satu jalur yang dilalui (cukup ikuti hidung Anda: hanya ada satu kotak untuk bergerak pada setiap langkah, kecuali jika mengambil langkah mundur); ini juga merupakan contoh di mana kotak diblokir pada satu titik tetapi perlu nanti
Contoh-contoh Falsey
6Q1/5N2/4Q3/3N4/2Q5/1N6/2Q5/1N6
- setiap upaya di jalan harus melewati dua potongan warna yang sama terletak secara diagonalN1q1K1P1/1R1b1p1n/r1B1B1Q1/1p1Q1p1b/B1P1R1N1/1B1P1Q1R/k1k1K1q1/1K1R1P1r
- satu-satunya jalan melalui diagonal a8-h1 adalah pada f2-g3 , tetapi itu akan membutuhkan jalan melalui e1-d2 atau f2-e3 , yang keduanya tidak mungkin.4Q3/4q3/4Q3/5Q2/6Q1/3QqP2/2Q5/1Q6
4q3/4Q3/4q3/5q2/6q1/3qQp2/2q5/1q6
Contoh diagonal
Jika prosa di atas tidak jelas, berikut adalah beberapa gambar.
Diagonal lumayan
Diagonal yang tidak bisa dilewati