n وزیر را پیاده سازی کند،(n وزیر را بگونه ای درون صفحه ای قرار دهیم که هیچ دو وزیری یکدیگر را تهدید نکند مقدارn را دریافت کند خروجی نمونه تولید کند)
n وزیر را پیاده سازی کند،(n وزیر را بگونه ای درون صفحه ای قرار دهیم که هیچ دو وزیری یکدیگر را تهدید نکند مقدارn را دریافت کند خروجی نمونه تولید کند)
هدف پيدا کردن راهحلي براي چيدن n وزير در صفحهي شطرنج n×n (n>=8)است به نحوي که هيچ دو وزيري يکديگر را تهديد نکنند. براي اين کار از روش کمترين مقدار باقيمانده استفاده ميکنيم. به اين ترتيب که:
1. هر ستون را به عنوان يک عنصر در نظر ميگيريم که بايد يک وزير را در يکي از سطرهايش قرار دهيم.
2. وزير اول را در سطر اول از ستون اول قرار ميدهيم.
3. حال براي هر ستون تعداد خانههايي از آن را که تهديد نميشوند ميشماريم.
4. براي مرحلهي بعد، ستوني را که کمترين خانهي امن را دارد برميگزينيم و يک وزير را در اولين سطر امن آن قرار ميدهيم.
5. مراحل 3 و 4 را تکرار ميکنيم تا:
a. در هر ستون يک وزير در خانههاي امن قرار گيرد. که کار تمام است و مختصات وزيران را چاپ ميکنيم.
b. يا به جايي ميرسيم که ديگر هيچ خانهي امني براي بقيه ستونهاي باقي نمانده. لذا آخرين وزيري را که قرار داده بوديم به خانهي امن بعدي در همان ستون منتقل ميکنيم. اگر آن ستون ديگر خانهي امني ندارد پس بايد به ستون قبلي که وزيري را در آن قرار داده بوديم برويم و اين کار را انجام دهيم و الي آخر.
اگر دو ستون تعداد خانهي امن مساوي و کمينه داشته باشند، ستون با انديس کمتر را انتخاب ميکنيم.
براي اين مسئله تضمين ميشود که حتماً جوابي به روش فوق پيدا ميشود. پياده سازي اين الگوريتم به روش بازگشتي بسيار ساده است.
========================
باتشکر
منظورم سورس برنامه c هست
سلام ميشه سورس برنامه وزيرها يا پريم رو به من بدين مرسي
سلام دوست عزيز.كارت لنگه؟ الآن راش ميندازم.
التبه اين برنامه هشت وزيره.ببين خوبه؟
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بچه ها اینم 8وزیره
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)