Menu
CoddyTech

N-Queens II

Bir vezir, ne kadar uzakta olursa olsun kendi satırındaki, sütunundaki ve iki köşegenindeki tüm karelere saldırır. Bir n tam sayısı verildiğinde, hiçbir iki vezirin birbirine saldırmadığı şekilde n × n boyutundaki bir tahtaya n vezir yerleştirmenin kaç yolu olduğunu döndürün.

Herhangi bir karede farklılık gösteren tahtalar ayrı sayılır; ayna görüntüleri de buna dahildir.

Fonksiyon

totalNQueens(n: integer) → integer
ninteger
tahtanın boyutu ve vezirlerin sayısı
Döndürürinteger
hiçbirinin diğerine saldırmadığı şekilde vezirleri yerleştirmenin yollarının sayısı

Kısıtlar

  • 1 ≤ n ≤ 12
  • n = 12 için yanıt 14,200’dür; bu nedenle 32 bitlik bir tamsayıya sığar.

Örnekler

Girdi
n = 4
Çıktı
2
Açıklama
Her satırın vezir sütunu yukarıdan aşağıya yazıldığında, tahtalar 1, 3, 0, 2 ve 2, 0, 3, 1 olur: birbirlerinin ayna görüntüleridir ve iki çözüm olarak sayılırlar. Diğer tüm seçimlerde iki vezir aynı sütunu veya çaprazı paylaşır.
challenge icon

Ek soru

Tahtayı döndürüp yansıttığında birbirinden farklı kalan tahtaları sayabilir misin? n = 8 için 92 tahta, bu türden 12 gruba ayrılır.

Kodu sıfırla
def totalNQueens(n):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

n = 4

Beklenen Çıktı

2