Sudoku solver utilizing the backtracking principle
تفاصيل العمل
الفكرة الأساسية حل الـ Sudoku باستخدام Backtracking يعني: جرّب → لو غلط ارجع → جرّب حاجة تانية → كرر لحد ما توصل للحل الصح ده مش ذكاء خارق… ده “عناد منظّم”. يعني إيه Backtracking؟ هو أسلوب حل بيشتغل كده: 1- تختار مكان فاضي في الجدول 2- تحاول تحط رقم (من 1 لـ 9) 3- لو الرقم ينفع → تكمل 4- لو بعد شوية اكتشفت إنه غلط → ترجع خطوة و تغيّر الرقم زي اللي بيمشي في متاهة: -يمشي طريق -لو مسدود يرجع -يجرب طريق تاني خطوات حل Sudoku بالـ Backtracking 1. نلاقي خانة فاضية ندور على أول خانة فيها 0 (أو فاضية) 2. نجرب أرقام من 1 لـ 9 لكل رقم: هل الرقم موجود في الصف؟ لو لا هل موجود في العمود؟ لو لا هل موجود في الـ 3×3 box؟ لو مش موجود في التلاتة يبقى ينفع نحطه 3. نحط الرقم ونكمل نحط الرقم مؤقتًا، ونحل باقي الجدول بنفس الطريقة (Recursion) 4. لو وصلنا لطريق مسدود لو مفيش رقم ينفع: -نمسح الرقم اللي حطيناه -نرجع خطوة (Backtrack) -نجرب رقم تاني 5. النهاية لما كل الخانات تتملي → ✔ الحل جاهز مثال بسيط بالفكرة تخيل خانة فاضية: -جرّبت 1 -جرّبت 2 -كملت… بعد شوية اكتشفت إن 2 عمل مشكلة 😅 → ترجع → تشيل 2 → تجرب 3 وهكذا…
مهارات العمل
بطاقة العمل
طلب عمل مماثل