Menu
CoddyTech
flag Ar iconالعربيةdown icon

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. كلٌّ منهما صورة مرآة للآخر، ويُحسبان طريقتين. وكل اختيار آخر يضع ملكتين في عمود أو قطر مشترك.

lock icon+10 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

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

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

الحالة 1

الحالة 2

المدخلات

n = 4

المتوقع

2