Menu
CoddyTech

N-Queens II

Satranç tahtasındaki bir vezir, ne kadar uzakta olursa olsun bulunduğu satırdaki, sütundaki ve iki köşegenindeki tüm karelere saldırır. Bir n tam sayısı veriliyor. Birbirine saldırmayan n veziri n × n boyutundaki bir tahtaya yerleştirmenin kaç farklı yolu olduğunu döndürün.

Birinde bir vezirin bulunduğu, diğerinde ise boş olan en az bir kare varsa iki yerleşim farklıdır. Bu nedenle, birbirine benzeseler bile bir tahta ile ayna görüntüsü iki farklı yol sayılır.

Fonksiyon

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

Kısıtlar

  • 1 ≤ n ≤ 12
  • n = 12 için cevap 14.200’dür, dolayısıyla 32 bitlik bir tamsayıya sığar.

Örnekler

Girdi
n = 4
Çıktı
2
Açıklama
Her satırdaki vezirin sütununu yukarıdan aşağıya yazarak, iki tahta 1, 3, 0, 2 ve 2, 0, 3, 1 olur. Her biri diğerinin ayna görüntüsüdür ve iki farklı çözüm olarak sayılırlar. Diğer tüm seçimlerde iki vezir aynı sütunu veya çaprazı paylaşır.

lock iconGönderirken +10 gizli test

challenge icon

Ek soru

Tahtayı döndürüp yansıttıktan sonra farklı kalmaya devam eden tahtaları sayabilir misin? n = 8 için 92 tahta bu tür 12 gruba ayrılır.

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

Durum 1

Durum 2

Girdi

n = 4

Beklenen

2