Menu
CoddyTech

N-Queens II

يهاجم الوزير كل مربع في صفه وعموده وقطريه كليهما، مهما كانت المسافة. معطى عدد صحيح n، أعد عدد الطرق لوضع n من الوزير على لوحة n × n بحيث لا يهاجم أي وزيرين أحدهما الآخر.

تُحسب اللوحات التي تختلف في أي مربع على حدة، بما في ذلك الصور المرآتية.

الدالة

totalNQueens(n: integer) → integer
ninteger
حجم اللوحة وعدد الملكات
تُرجعinteger
عدد الطرق لوضع الملكات بحيث لا تهاجم أيٌّ منها الأخرى

القيود

  • 1 ≤ n ≤ 12
  • الإجابة عن n = 12 هي 14,200، لذا فهي تناسب عددًا صحيحًا ذا 32 بت.

أمثلة

المدخلات
n = 4
المخرجات
2
الشرح
بكتابة عمود الملكة في كل صف من الأعلى إلى الأسفل، يكون التمثيلان هما 1, 3, 0, 2 و2, 0, 3, 1: صورتان متطابقتان في المرآة، وتُحسبان حلّين. كل اختيار آخر يضع ملكتين في العمود نفسه أو على القطر نفسه.
challenge icon

سؤال إضافي

هل يمكنك عدّ اللوحات المختلفة فقط بعد تدوير اللوحة وعكسها؟ عندما تكون n = 8، تنقسم اللوحات الـ92 إلى 12 مجموعة من هذا النوع.

إعادة ضبط الشيفرة
def totalNQueens(n):
    # اكتب الكود هنا

اختبار #1

اختبار #2

وسيط

n = 4

الإخراج المتوقع

2