Bu APL CodeGolf'un Sonbahar Turnuvasından Delik 3 . Ben ordaki problemin asıl yazarıyım ve bu yüzden tekrar buraya gönderdim.
Verilen:
bir kaç tur (lütfen hiçbir hareketin 0 olmadığını belirtin, aksi takdirde 1 olarak adlandırılacağını varsayalım) ve
8'e 8'lik bir satranç tahtasında bir veya daha fazla başlangıç pozisyonu listesi (herhangi bir biçimde, örneğin, 0 veya 1 indekslenmiş koordinat veya 64 ardışık sayı / karakter veya A1 --- H8 - durum hangisi),
(herhangi bir sırayla) şövalye (ler) in verilen tur sayısından sonra olabileceği benzersiz pozisyonların (girişle aynı formatta) listesini döndürün.
Her şövalye her turda hareket etmelidir, ancak aynı meydanda bulunan birden fazla şövalye hakkında endişelenmenize gerek yoktur.
Bir şövalye, yalnızca ♞ ile işaretlenmiş mevcut konumuna göre X ile işaretlenmiş konumlara hareket edebilir:
Örnekler (1 indeksli koordinatlar)
1
taşın [[1,1]]
: [[2,3],[3,2]]
2
taşınır [[1,1]]
: [[1,1],[1,3],[1,5],[2,4],[3,1],[3,5],[4,2],[4,4],[5,1],[5,3]]
1
taşın [[1,1],[5,7]]
: [[2,3],[3,2],[3,6],[3,8],[4,5],[6,5],[7,6],[7,8]]
2
taşınır [[1,1],[5,7]]
: [[1,1],[1,3],[1,5],[1,7],[2,4],[2,6],[2,8],[3,1],[3,3],[3,5],[3,7],[4,2],[4,4],[4,6],[4,8],[5,1],[5,3],[5,5],[5,7],[6,4],[6,6],[6,8],[7,3],[7,7],[8,4],[8,6],[8,8]]
0
taşınır [[3,4]]
: [[3,4]]
[[1,1]], 2 -> [[2,3],[3,2]]