خوارزمية حل لعبة SUDOKU

هنا توجد كل المواضيع المتعلقة بالخوارزميات الرياضية و الحاسوبية

المشرف: Mu_Nizar

خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة adnan_khabbaz » السبت نوفمبر 13, 2010 11:00 pm

بسم الله الرحمن الرحيم

تعريف باللعبة:
هي عبارة عن جدول مؤلف من تسع صفوف وتسع أعمدة أي لدينا 81 خانة تحوي أرقام من 1 إلى 9 بحيث لا يمكن تكرار عددين في نفس الصف أو نفس العمود أو المربع الأصغر 3 * 3 كما في الشكل :

sudoku.jpg

( العدد 9 خطأ بسبب وجود 9 في نفس الخط الأفقي و الأربعة خطأ بسبب وجود 4 في نفس الخط الشاقولي والثمانية أيضا خطأ بسبب وجود 8 في المربع الأخير)

المهمة في اللعبة هي ملء جميع المربعات الفارغة في الجدول وهذه هي مهمة الخوارزمية والتي ستعتمد على مبدأ التراجعية backtracking

فكرت كثيرا بالخوارزمية وعلى ما أعتقد أن الخطوات التالية هي الخطوات الرئيسية لكن لست متأكد منها 100 % :imb:

الخطوات الأساسية :
1. قراءة الجدول ووضع 0 محل المكان الفارغ والأعداد في أماكنها
2. استدعاء الخوارزمية التراجعية من أجل خانة k=1

المخطط العام لخوارزمية الحل التراجعية هي :
• وضع العدد 9≥1≤ I في الخانة k
• استدعاء إجرائية اختبار الرقم في الخانة k
• إذا نجح الاختبار تستدعي الإجرائية من أجل الخانة التالية
• وإلا نضع i+1 إلى أن ينجح عدد ما
• إذا لم ينجح إي عدد نستدعي الإجرائية من أجل الخانة التي قبلها

فكرة إجرائية التحقق من العدد في الخانة هي:
1 مسح الصف الذي يوجد فيه العنصر بحثا عن تساوي للعنصر
2 مسح العمود الذي يوجد فيه العنصر بحثا عن تساوي للعنصر
3 مسح المربع الأصغر الذي يوجد فيه العنصر عن طريق :
... • قسمة الدليلين (من النمط integer ) على العدد 3 وذلك من أجل تحديد المربع الأصغري (مع الأخذ بعين الاعتبار أن الدليلين يبدان من الصفر)
... • مسح المربع الأصغري بحثا عن تساوي للعنصر

إجرائية التحقق من العدد في الخانة k (كود ++c )
CODE: تحديد الكل
bool check(int a[9][9],int n,int m)
{
   int i,j;
   for(j=0;j<9;j++)
   {
         if(j==m)
            continue ;
         if(a[n][j]==a[n][m])
         return 0;
   }
   for(i=0;i<9;i++)
   {
      if(i==n)
         continue;
      if(a[i][m]==a[n][m])
         return 0;
   }
   int c=a[n][m];
   int s=0;
   n/=3;
   m/=3;
   for(i=0;i<3;i++)
      for(j=0;j<3;j++)
      {
         if(a[n*3+i][m*3+j]==c)
            s++;   
      }
    if (s>1)
      return 0;

   return 1;
}


هل من اقتراح لتحسين بنية الخوارزمية لتنتج خوارزمية أفضل خاصة إذا في حدا جرب هيك خوارزميات


<<إن الله لا يغير ما بقوم حتى يغيروا ما بأنفسهم>>
adnan_khabbaz
عضو جديد
عضو جديد
 
مشاركات: 90
اشترك في: الثلاثاء إبريل 13, 2010 10:58 am
مكان: دمشق
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة PrinceOfDarkness » الأحد نوفمبر 14, 2010 12:25 am

شوف هذا البرنامج عملتو السنة الماضية بس ماصحلي وقت لكفي بقا فيو شوية بغات
والكود كاتبو لالي وماعامل حساب انشرو بس قلت لحالي بيجوز يفيدك بقا بديك ماتعتب على الكود كتير
المهم شوف الـ method يلي اسمها SolveItDude . موجودة بالـ class frmSoduko مستخدم نفس الخوارزمية يلي حكيتها هون (تجريب)
اول شي عميل لعبة جديدة
فيك تعبي الارقام بالفارة. بس كبيس على المربع وبيعطيك الارقام يلي ممكن تحطها فيها
وبس تخلص اختر الـ solve
وحدد الـ depth يلي هو قديش بدك ياه يغوص ليلاقي الحل ( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة)
هلق انا عامل البرنامج بحيث انو يحل soduko من الدرجة n مو بس 9 .متذكر انها شغالة بس مابعرف
المهم شوفو . اجرائية الحل هي مثل ماقلت فوق SolveItDude
ملاحظة: وقت ما كتبت هذا البرنامج كنت لسا عم اتعلم سي شارب . بقا الامور فايتة ببعضها شوي وخصوصي OOP بقا لاعتب على الكود

Be the broken or the breaker
Be the giver or the undertaker
Unlock and open the door
Be the healer or the faker
The keys are in your hands
Realize you are your own sole creator
Of your own master plan
صورة العضو الشخصية
PrinceOfDarkness
متميز برمجة عام
متميز برمجة عام
 
مشاركات: 440
اشترك في: الجمعة أكتوبر 17, 2008 11:19 pm
مكان: try to guess
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الرابعة
الاختصاص: ذكاء صنعي

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة PrinceOfDarkness » الأحد نوفمبر 14, 2010 12:31 am

هلق مشان طريقة ثانية لحل اعطيك فكرة حاولت اشتغل فيها وقت ماكنت سنة اولى بس كمان ما كفيتها .
فكرتي كانت بتعتمد على جبر المجموعات وباستخدام بنية المعطيات Set
الفكرة هي اني اعمل مجموعات بتمثل شو الامكانيات يلي ممكن حطها بكل مربع
وبعدين تعمل شوية تقاطعات
وبالنهاية لح تحصل على مربعات فضاء الاحتمالات (مدري امكانيات مابعرف شو بيسمو) فيو رقم وحيد .وهذا هو الحل الوحيد الواحد :mrgreen:
برد برجع بعيد الحل من اول وجديد بس بعد ماكون عبيت الخانات يلي ما بتقبل غير حل واحد
وكمان بعمل مجموعات وبقاطع ومابعرف شو ....وبعبي المربعات يلي مافيها غير جواب واحد
بالاخير يا اما لح عبيت فيها كلشي مربعات ووصلت لح صح
او لح وصل لمرحلة ماعندي ولا مربع بيقبل حل وحيد
ووقتها بدك تصير تشلف وتجرب (يعني رجعة للخوارزمية يلي شارحها بردك)
هلق الكود تبع هي الطريقة كوكتيل نظامي. لانو كاتبو باسكال وطالع معي شي 800 سطر (سنة اولى عم قلك :vma: ) بقا مو نصيحة حطو لانو ان مالح اعرف اقراه
بتمنى تكون وصلت الطريقة

Be the broken or the breaker
Be the giver or the undertaker
Unlock and open the door
Be the healer or the faker
The keys are in your hands
Realize you are your own sole creator
Of your own master plan
صورة العضو الشخصية
PrinceOfDarkness
متميز برمجة عام
متميز برمجة عام
 
مشاركات: 440
اشترك في: الجمعة أكتوبر 17, 2008 11:19 pm
مكان: try to guess
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الرابعة
الاختصاص: ذكاء صنعي

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة adnan_khabbaz » الأحد نوفمبر 14, 2010 1:06 am

PrinceOfDarkness كتب:شوف هذا البرنامج عملتو السنة الماضية بس ماصحلي وقت لكفي بقا فيو شوية بغات
والكود كاتبو لالي وماعامل حساب انشرو بس قلت لحالي بيجوز يفيدك بقا بديك ماتعتب على الكود كتير
المهم شوف الـ method يلي اسمها SolveItDude . موجودة بالـ class frmSoduko مستخدم نفس الخوارزمية يلي حكيتها هون (تجريب)
اول شي عميل لعبة جديدة
فيك تعبي الارقام بالفارة. بس كبيس على المربع وبيعطيك الارقام يلي ممكن تحطها فيها
وبس تخلص اختر الـ solve
وحدد الـ depth يلي هو قديش بدك ياه يغوص ليلاقي الحل ( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة)
هلق انا عامل البرنامج بحيث انو يحل soduko من الدرجة n مو بس 9 .متذكر انها شغالة بس مابعرف
المهم شوفو . اجرائية الحل هي مثل ماقلت فوق SolveItDude
ملاحظة: وقت ما كتبت هذا البرنامج كنت لسا عم اتعلم سي شارب . بقا الامور فايتة ببعضها شوي وخصوصي OOP بقا لاعتب على الكود



ما شاء الله البرنامج أكثر من رائع :iok:
وكمان بيحل من الدرجة n
صرلي من الصبح عم حاول في على ال console ++C وما كان تظبط معي شغلة الرجعة و بداية التجربة من القيمة يلي بعدها :imb:
بالنسبة للفكرة التانية حاولت فيها شوي بس لقيتها كتير معقدة بقا قلت خلي الكمبيوتر يتعقد عني :mrgreen:
<<إن الله لا يغير ما بقوم حتى يغيروا ما بأنفسهم>>
adnan_khabbaz
عضو جديد
عضو جديد
 
مشاركات: 90
اشترك في: الثلاثاء إبريل 13, 2010 10:58 am
مكان: دمشق
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة zj_zead » الأحد نوفمبر 14, 2010 9:28 am

PrinceOfDarkness كتب:شوف هذا البرنامج عملتو السنة الماضية بس ماصحلي وقت لكفي بقا فيو شوية بغات
والكود كاتبو لالي وماعامل حساب انشرو بس قلت لحالي بيجوز يفيدك بقا بديك ماتعتب على الكود كتير
المهم شوف الـ method يلي اسمها SolveItDude . موجودة بالـ class frmSoduko مستخدم نفس الخوارزمية يلي حكيتها هون (تجريب)
اول شي عميل لعبة جديدة
فيك تعبي الارقام بالفارة. بس كبيس على المربع وبيعطيك الارقام يلي ممكن تحطها فيها
وبس تخلص اختر الـ solve
وحدد الـ depth يلي هو قديش بدك ياه يغوص ليلاقي الحل ( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة)
هلق انا عامل البرنامج بحيث انو يحل soduko من الدرجة n مو بس 9 .متذكر انها شغالة بس مابعرف
المهم شوفو . اجرائية الحل هي مثل ماقلت فوق SolveItDude
ملاحظة: وقت ما كتبت هذا البرنامج كنت لسا عم اتعلم سي شارب . بقا الامور فايتة ببعضها شوي وخصوصي OOP بقا لاعتب على الكود




مرحبا شباب
والله يعطيكن العافية
بس تعليق بسيط " كل لعبة SUDOKU لها حل وحيد فقط "
( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة) ؟؟؟؟؟؟؟؟؟؟؟؟ :???: :???: :???:
الجهل يعمي أبصارنا و يضللنا . أيها البشر الفانون ! افتحوا أعينكم !
.................................... ليوناردو دافنشي ........................
صورة العضو الشخصية
zj_zead
عضو جديد
عضو جديد
 
مشاركات: 31
اشترك في: السبت أكتوبر 03, 2009 4:45 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة adnan_khabbaz » الأحد نوفمبر 14, 2010 4:39 pm

zj_zead كتب:
PrinceOfDarkness كتب:شوف هذا البرنامج عملتو السنة الماضية بس ماصحلي وقت لكفي بقا فيو شوية بغات
والكود كاتبو لالي وماعامل حساب انشرو بس قلت لحالي بيجوز يفيدك بقا بديك ماتعتب على الكود كتير
المهم شوف الـ method يلي اسمها SolveItDude . موجودة بالـ class frmSoduko مستخدم نفس الخوارزمية يلي حكيتها هون (تجريب)
اول شي عميل لعبة جديدة
فيك تعبي الارقام بالفارة. بس كبيس على المربع وبيعطيك الارقام يلي ممكن تحطها فيها
وبس تخلص اختر الـ solve
وحدد الـ depth يلي هو قديش بدك ياه يغوص ليلاقي الحل ( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة)
هلق انا عامل البرنامج بحيث انو يحل soduko من الدرجة n مو بس 9 .متذكر انها شغالة بس مابعرف
المهم شوفو . اجرائية الحل هي مثل ماقلت فوق SolveItDude
ملاحظة: وقت ما كتبت هذا البرنامج كنت لسا عم اتعلم سي شارب . بقا الامور فايتة ببعضها شوي وخصوصي OOP بقا لاعتب على الكود




مرحبا شباب
والله يعطيكن العافية
بس تعليق بسيط " كل لعبة SUDOKU لها حل وحيد فقط "
( يعني عدد الحلول يلي بدك تلاقيها لانو ممكن يكون في عندك اكتر من حل للعبة) ؟؟؟؟؟؟؟؟؟؟؟؟ :???: :???: :???:


لنفرض أنك وضعت في الخانة الأولى عدد ما فقط أي لم تضع في الجدول سوا هذا العدد فبالتالي يمكن أن يكون للعبة عدد كبير من الحلول
(جرب البرنامج يلي حطو PrinceOfDarkness مشكور )
<<إن الله لا يغير ما بقوم حتى يغيروا ما بأنفسهم>>
adnan_khabbaz
عضو جديد
عضو جديد
 
مشاركات: 90
اشترك في: الثلاثاء إبريل 13, 2010 10:58 am
مكان: دمشق
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة h5n1 » الأحد نوفمبر 14, 2010 4:53 pm

هلئ يا شباب ضروري الخوارزمية تكون عودية ؟ مو حرام المعالج و الرام ؟
يعني عندكن وظيفة هيك الخوارزمية لازم تكون ؟
انا بعملكن حل بس عندي سؤال و هو كمان جواب للسؤال زياد؟(كيفيك زياد شو هالصورة الحلوي)
إنو عدد الحلول بكون تبعا للأرقام المعطات الثابتة أول ما تبدا اللعبة لأن اللعبة ما بتكون فاضي ! مو هيك ؟
يعني لو كانت المربعات كلها فاضي كان عدد احتمالات السطر الأول : n! و السطر التاني (n-1)! و هيك
و بقل (العدد عاملي)لأنو صار ينحصر من المربعات للي جنبو و الفوقو و بتصير معقدة (بصراحة بتوقع هيك مالي نفس فكر أكثر (إذا غلط أسف))فبتالي بكون عدد الحلول:
n!(n-1)!(n-2)!
كل مربع بتعطيه رقم بوفر عليك n حل يعني فرضا إذا عطينا المربع الأول عددد 1 صار عدد احتمالات السطر الأول (n-1)!
اسف إذا كثرت حكي أما سؤالي فهو مدخل المربعات المحلولة أول شي مو هيك؟
أنا بحاول إرجعلكن بالحل بعد شوي
I do this for the streets, the runners
I don't care what nobody say
I'm a be me
I do it for the hood
I do it cause you can't
You XXXXX wish you could
SS is in the bank
DMG
صورة العضو الشخصية
h5n1
عضو جديد
عضو جديد
 
مشاركات: 32
اشترك في: الجمعة نوفمبر 05, 2010 1:03 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: دكتور
الاختصاص: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة h5n1 » الأحد نوفمبر 14, 2010 5:04 pm

adnan_khabbaz كتب:
بسم الله الرحمن الرحيم

تعريف باللعبة:
هي عبارة عن جدول مؤلف من تسع صفوف وتسع أعمدة أي لدينا 81 خانة تحوي أرقام من 1 إلى 9 بحيث لا يمكن تكرار عددين في نفس الصف أو نفس العمود أو المربع الأصغر 3 * 3 كما في الشكل :



تعقيبا على كلامك أنا بعرف الشرطين هني فقط ما في بنفس السطر أو بنفس العامود و عندي اللعبة على موبايلي هيك يعني إذا حطين الثمانية مكان ما إنت حطيتها ما بيعطيني غلط
I do this for the streets, the runners
I don't care what nobody say
I'm a be me
I do it for the hood
I do it cause you can't
You XXXXX wish you could
SS is in the bank
DMG
صورة العضو الشخصية
h5n1
عضو جديد
عضو جديد
 
مشاركات: 32
اشترك في: الجمعة نوفمبر 05, 2010 1:03 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: دكتور
الاختصاص: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة asecrety » الأحد نوفمبر 14, 2010 5:59 pm

تعقيبا على كلامك أنا بعرف الشرطين هني فقط ما في بنفس السطر أو بنفس العامود و عندي اللعبة على موبايلي هيك يعني إذا حطين الثمانية مكان ما إنت حطيتها ما بيعطيني غلط

ما بعتقد اللعبة اللي عندك على الموبايل مقياس .. لأن اللعبة معروفة و إلها كتب و قوانين
المعروف أن بالمربع الواحد أو بالسطر الواحد أو بالعمود الواحد ما لازم يتكرر الرقم
بس على هالحالة إذا الحل للعبة من المرتبة n ... لازم تكون اللعبة على المجموع :???:
بحيث مجموع الأرقام في كل مربع يساوي مجموع الأرقام في كل عامود و كل صف :???:
بسم الله
لا إله إلا الله .... محمد رسول الله
صورة العضو الشخصية
asecrety
عضو فعال
عضو فعال
 
مشاركات: 836
اشترك في: الاثنين أغسطس 30, 2010 1:34 pm
الجتس: ذكر
الشهادة الثانوية: -
الجامعة: -
الكلية: -
المرحلة الدراسية: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة h5n1 » الأحد نوفمبر 14, 2010 6:09 pm

ما فهمت عليك شو قصدك بالمجموع صح مجموعن هو
n(n+1)/2
شو استفدنا عندك n خانة فاضي؟ ما فهمت عليك :???:
I do this for the streets, the runners
I don't care what nobody say
I'm a be me
I do it for the hood
I do it cause you can't
You XXXXX wish you could
SS is in the bank
DMG
صورة العضو الشخصية
h5n1
عضو جديد
عضو جديد
 
مشاركات: 32
اشترك في: الجمعة نوفمبر 05, 2010 1:03 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: دكتور
الاختصاص: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة adnan_khabbaz » الأحد نوفمبر 14, 2010 7:13 pm

تعقيبا على كلامك أنا بعرف الشرطين هني فقط ما في بنفس السطر أو بنفس العامود و عندي اللعبة على موبايلي هيك يعني إذا حطين الثمانية مكان ما إنت حطيتها ما بيعطيني غلط


اللعبة كما قال asecrety لها قواعد و نظم يمكن أنت ما كنت عم تلعبها صح
انظر الرابط:
http://en.wikipedia.org/wiki/Sudoku
واللي بيقلك أن لازم كل مربع 3*3 يكون مربع لاتيني

وإلا بتصير اللعبة سهلة وما لها طعمة :wink2:
<<إن الله لا يغير ما بقوم حتى يغيروا ما بأنفسهم>>
adnan_khabbaz
عضو جديد
عضو جديد
 
مشاركات: 90
اشترك في: الثلاثاء إبريل 13, 2010 10:58 am
مكان: دمشق
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة h5n1 » الأحد نوفمبر 14, 2010 7:42 pm

مو قصة بتصير سهلة و مالها طعمة بس بقل عدد الحلول :???:
على كل حال حاليتها حل فاشل (يعني بظيئ :evil: و مو معاجبني :evil: بس بمشي الحال :wink2: و شغال :wink2: )
بس هذا الحل على لعبتي أنا :wink:
إذا بدك تخليه على لعبتك بس عد الفانكشن check تعديل بسيط كثير ما تعملنا مشاكل شغلتو كثير بسيطة
أنا بكرا بعدلو إذا ما حدا تكرم عليو عدلو لأني ميت من النعس :cry:
الفراءة من ملف sudo.txt
أول سطر عدد الأسطر و الأعمدة حدد صحيح n
n سطر يلي بعدو كل وحد في n رقم هو الرقم بالعبة و إذا ما في رقم بتحط -1
فيك تعمل comment لاول سطر بالـ main إذا بدك تدخلون يدويا كل مرة
المف h5n1.cpp
CODE: تحديد الكل
/**
* DJ Khaled !we are the best! season 8 !I do this for the streetzz
* copyrighted©2010 do NOT steel my code for educational purposes only
**/

#include <iostream>
#include <fstream>
using namespace std;
int n, step;
int a[100][100];
int ctr; //counter for check to save identifing and destroying time
bool check(int number,int x,int y);
void fill();
void printme();
void fill()
{   
   if(step==n*n)
   {   
      //succeded
      cout<<"\n";
      printme();
      cout<<"\n";
      return ;
   }
   
   int plus =1;
   while(((step+plus)<(n*n)) && (a[(step+plus)/n][(plus+step)%n]!=-1))
      ++plus;
   
   for(int i = 1 ; i<=n;i++)
      if(check(i,step/n,step%n))
      {
         a[step/n][step%n]=i;
         step=step+plus;
         fill();
         step=step-plus;
      }
   a[step/n][step%n]=-1;
   return ;
      
   
}
bool check(int number,int x,int y)
{
   for(ctr=0;ctr<n;ctr++)
      if(a[x][ctr]==number || a[ctr][y]==number)
         return false;
   
   return true;
}
void printme()
{
   for(int i=0;i<n;i++)
   {
      for(int j=0;j<n;j++)
         cout<<a[i][j]<<" ";
      cout << endl;
   }
}

int main()
{
   ifstream cin("sudo.txt");//coment this if u diswant to enter frm a file
   int i ,j ;
   step=-1;
   cin>>n;
   for(i=0;i<n;i++)
      for(j=0;j<n;j++)
      {
         cin>>a[i][j];
         if(step==-1 && a[i][j]==-1)
            step=i*n+j;
      }
   
   if(step==-1)
      step=n*n-1;

      fill();
   
   return 0;
}


مثال ملف sudo.txt
CODE: تحديد الكل
3
1 -1 -1
-1 2 -1
-1 -1 3


مرفق h5n1.cpp

يالله تصبحو على خير
I do this for the streets, the runners
I don't care what nobody say
I'm a be me
I do it for the hood
I do it cause you can't
You XXXXX wish you could
SS is in the bank
DMG
صورة العضو الشخصية
h5n1
عضو جديد
عضو جديد
 
مشاركات: 32
اشترك في: الجمعة نوفمبر 05, 2010 1:03 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: دكتور
الاختصاص: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة yoya » الجمعة ديسمبر 24, 2010 12:54 am

واللي بيقلك أن لازم كل مربع 3*3 يكون مربع لاتيني

بس عفوا سؤال:
ازا كنا بدنا نعملها بعدها n بضل" المربع اللاتيني " حجمه 3*3 ولا بتغير حسب ال n اخترناه ؟؟ :???:
صورة العضو الشخصية
yoya
عضو فعال
عضو فعال
 
مشاركات: 369
اشترك في: الجمعة يوليو 17, 2009 4:02 pm
مكان: دمشق
الجتس: أنثى
الشهادة الثانوية: سورية
الجامعة: جامعةدمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثانية

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة Pure Man » الجمعة ديسمبر 24, 2010 1:50 am

yoya كتب:
واللي بيقلك أن لازم كل مربع 3*3 يكون مربع لاتيني

بس عفوا سؤال:
ازا كنا بدنا نعملها بعدها n بضل" المربع اللاتيني " حجمه 3*3 ولا بتغير حسب ال n اخترناه ؟؟ :???:


يتغير بعد المربع اللاتيني بحسب البعد الكلي, يعني إذا كان بعد المربع الكبير (n^2) فإن بعد المربع الجزئي الصغير (n).
وعليه فليس أي قيمة ممكن أن تكون البعد ولكن يجب أن يكون مربع لعدد آخر , يعني القيم المسموحة (9 - 16 -25 ....)

كيف لا نتفائل ..
وشعارنا من أربعة عشر قرناً
لا تحزن إن الله معنا

صورة العضو الشخصية
Pure Man
عضو جديد
عضو جديد
 
مشاركات: 244
اشترك في: الخميس مارس 06, 2008 11:28 am
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: غير ذلك
الاختصاص: غير ذلك

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة Firas Salloum » الجمعة سبتمبر 23, 2011 2:21 pm

أنا عندي فكرة عن طريقة لحل السودوكو بس عن طريق "الأحتمالات"
يعني نحنا كل ما نعبي خانة منمحي احتمال يكون هالعدد موجود بأي صف أفقي أو عمودي أو مربع كبير
و آخر شي بس ليبقى احتمال رقم واحد لأي مربع منثبتو و بعتقد هي أقل كلفة من بقية الخوارزميات اللي بتاخد كتييير وقت لتحل المسألة
و شكراً
Firas Salloum
عضو جديد
عضو جديد
 
مشاركات: 5
اشترك في: الجمعة سبتمبر 23, 2011 2:05 pm
الجتس: ذكر
الشهادة الثانوية: Syrian
الجامعة: Damascus University
الكلية: IT Engineering
المرحلة الدراسية: السنة الأولى

هادا هوة ملف المسألة

مشاركة غير مقروءةبواسطة Firas Salloum » الجمعة سبتمبر 23, 2011 3:12 pm

The Solution is in The Attachments
Firas Salloum
عضو جديد
عضو جديد
 
مشاركات: 5
اشترك في: الجمعة سبتمبر 23, 2011 2:05 pm
الجتس: ذكر
الشهادة الثانوية: Syrian
الجامعة: Damascus University
الكلية: IT Engineering
المرحلة الدراسية: السنة الأولى

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة karam89 » السبت سبتمبر 24, 2011 4:35 pm

ليش الكل عم يفكر بخوارزمية حل اللعبة ... حلها بسيط تراجعياً وحتى عودياً هالشي ممكن

الأصعب هو خوارزمية توليد رقعة سودوكو قابلة للحل وتأخذ الصعوبة بعين الاعتبار

اللي بتطلع معو الخوارزمية ينورنا :)

شخصياً عملت اللعبة وعملت خوارزمية توليد .. بس عم تعطي بعض الرقع الغير قابلة للحل في بعض الحالات الصعبة والصعبة جداً
http://www.karam89.com/games/sudoku/

اللي بتطلع معو ينورنا

برجع بذكر .. أهم شي تكون قابلة للحل :)
صورة العضو الشخصية
karam89
عضو جديد
عضو جديد
 
مشاركات: 208
اشترك في: الاثنين يوليو 06, 2009 7:52 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثالثة

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة Alex Dima » الجمعة ديسمبر 06, 2013 8:09 am

عن جد فكرة جديدة

بجربها هالحين

http://www.fedv.bu.edu.eg/
Alex Dima
عضو جديد
عضو جديد
 
مشاركات: 21
اشترك في: الأربعاء ديسمبر 04, 2013 2:06 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الأولى
الاختصاص: هندسة برمجيات

Re: خوارزمية حل لعبة SUDOKU

مشاركة غير مقروءةبواسطة asmaaaaa » السبت ديسمبر 07, 2013 2:03 pm

asmaaaaa
عضو جديد
عضو جديد
 
مشاركات: 54
اشترك في: السبت ديسمبر 07, 2013 10:48 am
الجتس: أنثى
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الخامسة

Get A Few Manners In black friday deals shopping online

مشاركة غير مقروءةبواسطة Gemmoopay » السبت ديسمبر 07, 2013 7:57 pm

And Steve, Rachel and Nicole are making sure what we come out with each month will be what on trend, what fashionable.Consider going online: Consider staying at home and skipping the lines.One click begins checkout and another click completes the purchase, confirming the aftertax price, shipping charges and cash back (when available). Taking a LONG position - buying into a market hoping to profit from rising pricesAll of the clothing websites I have used to buy products online from ask you to sign up by creating an individual account.Celebrities who have been seen wearing TOMS shoes include, but is not limited to:Do you know that in ancient Greece, business owners would collect on their overdue accounts by throwing stones at the non-paying customers? cyber monday a&f "For an employer to police that kind of activity is nearly impossible," she says.
An incredibly masculine watch that is a flurry of functionality, Buyer are going to love the TAG Heuer Men Carrera Automatic Chronograph DayDate Watch.
Not only will they appear in local papers next week, many ad slicks are now online at numerous Black Friday shopping sites.
"I've been hit with a shopping cart, had people take things out of my cart, had people start fighting in line, had someone take something out of my hands before," Collier said.
Because of fierce competition with crossborder shopping, both instore and online, Canadian retailers have launched Black Friday sales to keep shoppers at home.Across the country on Thursday and Friday, there were signs that tensions had ratcheted up a notch or two, with violence resulting in several instances.For YouTube aficionados, Black Friday mayhem has become its own annual event.If it wins, this lens will be prominently displayed on Squidoo for a day. hollister cyber monday However, the set is only 780p rather than 1080p, meaning it won't provide a true highdefinition picture.
The site is promoting a 51inch Plasma TV for just $499, which sounds like a steal.
EST, casual clothing and home retailer Land's End is listing door busters with the hashtag,
All those gifts that they did not by on Black Friday will likely be purchased on the Monday after Thanksgiving.
The experts spell out that commencing a proper skin care itinerary during 20s can combat aging symptoms and moreover, it is proven that precise skin care has the competence to impede skin cancer.Over time and through use, we wear down the protective enamel or outer coating of our teeth.It is a little known fact that razors, whose blades are made of nickel, react poorly with an African American man's skin.Is supplied in bright white, yellow together with graphite greyish.After which you can there does exist any Clarisonic Mia clarisonic brush! Any Mia may be a an individual acceleration streamlined sonic facelift hair brush when using the same exact sonic stroke stage when the other individuals. cyber monday louis vuitton The Consumer Reports National Research Center conducted a telephone survey of a nationally representative probability sample of telephone households.Some of the top discounts from established retailers are now found in the prediction guide online.With smarter notifications, beautiful new widgets and home screen customization, the Nexus 7 takes advantage of Jelly Bean's easy to use draganddrop controls.Watch TV virtually anywhere around your house in the guest room, the den, or wherever your family wants. The nine sites, narrowed down from 243 locations, are mostly on private land in south Martinborough, White Rock Rd, Mangatarere, Black Creek, Kiriwhakapapa, Te Mara, Te Ore Ore, Dorsets Rd and Mauriceville West.Health experts claim that the number of people with diseases like dementia, heart disease, depression, and other conditions needing twenty four hour nursing care will increase significantly.You've determined what the company is looking for, how it relates to industry trends, and how you can make your contributions.That is the hope, though this first scan emphasises the overwhelming similarity between humans and Neanderthals. toms cyber monday These little light fudgey gems of delight are so addictive! I followed the recipe exactly, and they turned out perfectly.Moore was born September 2, 1925 in Rockingham County to the late James Hunter Carter and Bernice Marie Pyrtle Carter.?Fumbling in your conversational style is a habit that communicates that you do not really know what you are talking about or that you would really rather someone would ignore it.I think our target is somewhere around between 6250 and 6350 for the immediate term," Vibhav Kapoor of IL said in an interview to CNBCTV18 earlier today. Today, the company has a portfolio of 30 licensed brands where it markets apparel, outerwear, beachwear, luggage, women's handbags, small leather goods and accessories.I have found that no matter how waterproof manufactures claim their product might be, water always seems to find a way of getting in. north face cyber monday Specifically, 28 test samples are required 22 large samples, and 6 small samples.Pouring water gently over your Shih Tzu puppy in the kitchen sink, a small bowl or dishpan is much less alarming than using a high powered sprayer.
Gemmoopay
عضو جديد
عضو جديد
 
مشاركات: 82
اشترك في: السبت ديسمبر 07, 2013 8:48 am
مكان: Marshall Islands
الجتس: أنثى
الشهادة الثانوية: ?????
الجامعة: ????? ????
الكلية: ??????? ???????????
المرحلة الدراسية: ماجستير
الاختصاص: شبكات و نظم


العودة إلى منتدى الخوارزميات العام

الموجودون الآن

المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر