Satranç tahtasının büyüklüğü ve şövalyenin başlangıç pozisyonu göz önüne alındığında, k
şövalyelerin satranç tahtasının içinde olma olasılığını hesaplayın .
Not:
Şövalye 8 hamlesinin hepsini eşit olasılıkla yapar.
Şövalye satranç tahtasının dışında olduğunda içeri geri gelemez.
Giriş
Girdiler virgülle şu biçimde ayrılır:
l,k,x,y
burada l
satranç tahtası uzunluğu ve genişliği, bir k
at yapacak hamle sayısı olduğu, x
Knight başlangıç konumundan x-konumu, ve y
Knight başlangıç konumundan y-pozisyondur. Bunun 0,0
, tahtanın sol alt köşesi ve tahtanın l-1,l-1
sağ üst köşesi olduğunu unutmayın.
Algoritma:
Şövalyenin ilk koordinatlarıyla başlayın. Bu pozisyon için tüm olası hareketleri yapın ve bu hareketleri olasılıklarıyla çarpın, her hareket için yinelemeli olarak çağırın, sonlandırma koşulu karşılanana kadar bu işleme devam edin. Sonlandırma koşulu, şövalye satranç tahtasının dışındaysa, bu durumda 0 döndürürse veya istenen hamle sayısı tükenirse, bu durumda dönüş 1'dir.
Gördüğümüz gibi, özyinelemenin mevcut durumu sadece mevcut koordinatlara ve şimdiye kadar yapılan adım sayısına bağlıdır. Bu nedenle, bu bilgileri tablo halinde ezberleyebiliriz.
Kredi
Bu meydan okuma aslında CC BY-NC-ND 2.5 IN lisansı altında yayınlanan crazyforcode.com'un bir blog yazısından kaynaklanmaktadır . Biraz daha zor hale getirmek için biraz değiştirildi.