اكتب دالة باسم solveNQueens تحل مسألة N-Queens باستخدام Backtracking.
المطلوب:
- الدالة تأخذ معامل واحد:
n(حجم الرقعة وعدد الملكات) - الدالة تُرجع قائمة بجميع الحلول الممكنة
- كل حل يُمثل كقائمة من الأعداد، حيث
solution[i]يُمثل عمود الملكة في الصفi - يجب أن لا تتعارض أي ملكتان (نفس الصف، العمود، أو القطر)
مثال:
solveNQueens(4)
# [[1, 3, 0, 2], [2, 0, 3, 1]]
# الحل الأول: الملكات في (0,1), (1,3), (2,0), (3,2)
ملاحظات:
- استخدم Backtracking للبحث عن الحلول
- في كل صف، جرّب وضع الملكة في كل عمود
- تحقق من أن الموقع آمن قبل المتابعة
- إذا فشلت، تراجع وجرب موقعًا آخر