Diberikan input dari empat bilangan bulat x 1 , y 1 , x 2 , dan y 2 , menghasilkan apakah raja putih dalam catur (dengan koordinat ( x 1 , y 1 )) dapat menangkap pion hitam (dengan koordinat ( x 2 , y 2 )) dan tangkap jika pion bergerak untuk mempromosikan ke ratu secepat mungkin.
Koordinat dewan adalah sebagai berikut:
first coordinate (x)
12345678
1 .#.#.#.#
2 #.#.#.#.
3 .#.#.#.#
second 4 #.#.#.#.
coordinate 5 .#.#.#.#
(y) 6 #.#.#.#.
7 .#.#.#.#
8 #.#.#.#.
Anggaplah putih untuk bergerak (giliran raja) dan kedua pemain bermain secara optimal (raja akan bergerak secepat mungkin untuk menangkap pion, dan pion akan bergerak secepat mungkin untuk mempromosikan). Koordinat input akan selalu berbeda, dan pion tidak akan pernah mulai dengan koordinat y dari 8.
Raja bergerak satu bujur sangkar ke arah mana saja setiap belokan (ia dapat bergerak secara diagonal), dan pion hanya dapat memindahkan satu ruang ke depan (mengurangi koordinat y-nya), kecuali jika itu pada posisi awalnya (dengan sistem koordinat kami, koordinat y dari 7), dalam hal ini dapat memindahkan dua ruang ke depan.
Input dapat diberikan sebagai string whitespace- / dipisahkan koma, array string / integer, atau empat fungsi / baris perintah / argumen dll. Koordinat dapat diberikan dalam urutan mana yang paling nyaman / golf (jadi, menerima input sebagai [y 2 , y 1 , x 1 , y 2 ] boleh saja asalkan konsisten). Outputnya harus berupa nilai true atau falsy .
Karena ini adalah kode-golf , kode terpendek dalam byte akan menang.
Kasus uji kebenaran :
5 3 3 2
6 1 1 7
3 3 3 2
4 1 4 7
7 7 1 7
1 8 1 7
Kasus uji palsu :
6 4 3 2
8 8 1 7
3 4 3 2
1 8 1 7
, di mana raja menangkap sebelum bidak dapat memindahkan dua ruang. Saya pikir semua jawaban sekarang salah. Situasi ini membuat masalahnya jauh lebih sulit.
x1 y1 x2 y2
?