📁 C و C++کد:37814امتیاز:4.8📅 بروزرسانی: هفته پیش

الگوریتم و سورس مساله هشت وزیر

دانلود فایل اصلی

برای دریافت فایل کامل روی دکمه زیر کلیک کنید

دانلود و مشاهده جزئیات
ℹ️
برای مشاهده محصول و توضیحات به ادامه مطلب بروید

توضیحات

الگوریتم و سورس مساله هشت وزیربخشی از متن اصلی : در این دسته روشها مهره ها رو یکی یکی و به صورت بازگشتی روی صفحه طوری می چینیم که مطمئن باشیم با مهره های قبلی تداخل نداره و شرط مساله برآورده می شه. معمولا از سطر اول صفحه شروع می کنیم به قرار دادن مهره ها. پر واضحه که هر سطر فقط می تونه یه مهره رو تو خودش جا بده. مهره سطر دوم رو طوری قرار می دیم که توسط مهره سطر اول تهدید نشه. برای این کار خانه های مختلفی از سطر رو می شه انتخاب کرد. برای نظم داشتن کارهامون فرض می کنیم همیشه انتخاب خانه ها از سمت چپ سطر شروع می شه. به عبارت دیگه با شروع از سمت چپ سطر اولین خانه ای که شرط رو برآورده کنه انتخاب می کنیم. به همین ترتیب سطرهای بعدی رو هم می چینیم. اگر به سطری رسیدیم که بر اساس چیدمان سطرهای قبلی هیچ خانه امنی برای مهره وجود نداشت ( یعنی همه خانه ها توسط مهره های قبلی تهدید می شدن ) یه مرحله به عقب بر می گردیم و مهره سطر قبل رو جابجا می کنیم. این کار هم با حرکت مهره به اولین خانه سمت چپ موقعیت فعلی که شرط رو برآورده کنه، انجام می شه. با ادامه دادن این روال و با جابجا کردن مهره ها به صورت منظم و بازگشتی تمامی حالتهای ممکنه به دست می یان. مساله هشت وزیر : ما مساله رو در حالت کلی در نظر می گیریم. یعنی زمانی که ابعاد صفحه شطرنج n در n و تعداد مهره ها n هستش. ( n > 3 ) روشهای مختلفی برای پیدا کردن جواب وجود داره. یکی از این روشها چیدن تصادفی مهره ها روی صفحه شطرنجه! به عبارت دیگه n مهره رو به صورت تصادفی در خانه های مختلف صفحه قرار می دیم و بررسی می کنیم که آیا شرط مساله رو برآورده می کنن یا نه؟ این روش بسیار سریع ما رو به جواب می رسونه. اما ایرادی که داره نمی شه مطمئن بود بشه به همه حالتهای چینش دست پیدا کرد. در صفحه 8 در 8 شطرنج این مساله 92 جواب مختلف داره. شما ممکنه روش تصادفی رو هزار بار به کار ببرید، اما نتونید همه 92 حالت ممکنه رو به دست بیارید. این روش زمانی مفیده که پیدا کردن یه جواب برای ما کافی باشه. برای پیاده سازی چنین الگوریتمی و تشخیص اینکه چه خانه هایی از سطر امن هستن روشهای مختلفی وجود داره. ساده ترینشون اینه که هر بار تمامی خانه هایی رو که امکان تهدید شدن از اونها وجود داره بررسی کنیم تا از قرار نداشتن مهره وزیر در اونها مطمئن باشیم. اما این روش اصلا کارا و بهینه نیست. روش دیگه تعریف کردن صفحه شطرنج به صورت یه آرایه n در n هستش که خونه های امن و غیر امن با علامتگذاری مشخص می شن. هر بار که مهره ای رو صفحه قرار می گیره تمام خونه هایی که توسط این مهره تهدید می شن به صورت غیر امن علامتگذاری می شن. به این ترتیب می شه فهمید که هر خونه با توجه به چینش مهره های قبلی امن هست یا نه؟ اما این روش هم معایبی داره که باعث می شه به روش سوم رجوع کنیم. برای آشنایی با این معایب کافیه سعی کنید کد برنامه رو بنویسید! در روش سوم که من ازش استفاده کردم، برای علامتگذاری خانه های امن و غیر امن از شیوه دیگه ای بهره می بریم. به این ترتیب که اقطار راست به چپ، چپ به راست و ستونها با شماره هایی مشخص می شن که کار علامتگذاری رو بسیار ساده می کنن. این روش بدون شک از کاراترین روشهای رسیدن به جواب مساله ماست. هم سرعت اجرای بالایی داره و هم حافظه مصرفی بسیار کم! کدی که به زبان ++C درباره این مساله نوشته شده با استفاده از روش سوم تعداد جوابهای ممکن – و نه خود جوابها – برای مقادیر مختلف n رو مشخص می کنه. به عنوان مثال اگر n رو 8 وارد کنید خروجی برنامه 92 خواهد بود. توصیه می کنم برای nهای بزرگ برنامه رو امتحان نکنید! اگر n رو 16 وارد کنید بعد از گذشتن زمان زیادی عدد 14772512 روی صفحه نمایش چاپ می شه. یعنی در صفحه شطرنج 16 در 16 حدود ۱۵ میلیون حالت مختلف برای چیدمان صحیح وجود داره!!

دسته‌بندی‌های سایت

📂 ... pdf (رمان،شعر،داستان)16402 فایل📂 معارف اسلامی (آموزش_و_پژوهش)4771 فایل📂 ... PowerPoint پاورپوینت4628 فایل📂 معماری (آموزش_و_پژوهش)3827 فایل📂 روانشناسی و مشاوره (آموزش_و_پژوهش)3098 فایل📂 ... پروژه های تحصیلی و آموزشی2600 فایل📂 مدیریت (آموزش_و_پژوهش)2469 فایل📂 🔺... پژوهش ها و محتوای مجازی2458 فایل📂 حقوق (آموزش_و_پژوهش)1961 فایل📂 حسابداری (آموزش_و_پژوهش)1834 فایل📂 امتحانات نهایی1689 فایل📂 تاریخ (آموزش_و_پژوهش)1278 فایل📂 اقتصاد (آموزش_و_پژوهش)1169 فایل📂 برق و مخابرات (آموزش_و_پژوهش)1163 فایل📂 کامپیوتر و IT (آموزش_و_پژوهش)1095 فایل📂 ادبیات (آموزش_و_پژوهش)1021 فایل📂 علوم تربیتی (آموزش_و_پژوهش)986 فایل📂 پزشکی (آموزش_و_پژوهش)902 فایل📂 مکانیک (آموزش_و_پژوهش)884 فایل📂 ... psdو (نمونه قرارداد،طرح،الگو)883 فایل📂 گوناگون873 فایل📂 جغرافیا (آموزش_و_پژوهش)795 فایل📂 هنر و گرافیک (آموزش_و_پژوهش)577 فایل📂 عمران و نقشه برداری (آموزش_و_پژوهش)537 فایل📂 بهداشت (آموزش_و_پژوهش)494 فایل📂 تربیت بدنی (آموزش_و_پژوهش)488 فایل📂 مواد و متالورژی (آموزش_و_پژوهش)481 فایل📂 کشاورزی و محیط زیست (آموزش_و_پژوهش)458 فایل📂 علوم اجتماعی (آموزش_و_پژوهش)437 فایل📂 علوم سیاسی (آموزش_و_پژوهش)357 فایل📂 شهرسازی (آموزش_و_پژوهش)281 فایل📂 شیمی (آموزش_و_پژوهش)261 فایل📂 کامپیوتر261 فایل📂 صنایع (آموزش_و_پژوهش)247 فایل📂 استخدامی239 فایل📂 ... پروژه های صنعتی و احداث201 فایل📂 هنر و گرافیک (کارآموزی_و_گزارشات)199 فایل📂 فیزیک (آموزش_و_پژوهش)190 فایل📂 پیام نور179 فایل📂 ریاضی (آموزش_و_پژوهش)170 فایل📂 معماری (کارآموزی_و_گزارشات)168 فایل📂 برق و مخابرات (کارآموزی_و_گزارشات)160 فایل📂 موبایل و اندروید160 فایل📂 مدیریت (مقالات_و_تحقیقات)157 فایل📂 امار و احتمال (آموزش_و_پژوهش)153 فایل📂 عمران و نقشه برداری (کارآموزی_و_گزارشات)150 فایل📂 زبانهای خارجه (آموزش_و_پژوهش)141 فایل📂 صنایع غذایی (آموزش_و_پژوهش)136 فایل📂 زیست شناسی (آموزش_و_پژوهش)134 فایل📂 ... پروژه های تولیدی و اشتغال133 فایل📂 عمران و نقشه برداری (مقالات_و_تحقیقات)133 فایل📂 مکانیک (کارآموزی_و_گزارشات)130 فایل📂 فلسفه و منطق (آموزش_و_پژوهش)126 فایل📂 کامپیوتر و IT (کارآموزی_و_گزارشات)125 فایل📂 صنایع (کارآموزی_و_گزارشات)123 فایل📂 ... پروژه های غذایی و کشاورزی117 فایل📂 پرستاری (آموزش_و_پژوهش)117 فایل📂 حسابداری (کارآموزی_و_گزارشات)110 فایل📂 روانشناسی و مشاوره (مقالات_و_تحقیقات)96 فایل📂 زمین شناسی (آموزش_و_پژوهش)96 فایل📂 ... پروژه های تحقیق و ترجمه مقاله95 فایل📂 مدیریت (کارآموزی_و_گزارشات)90 فایل📂 کشاورزی و محیط زیست (کارآموزی_و_گزارشات)88 فایل📂 علوم تربیتی (کارآموزی_و_گزارشات)86 فایل📂 کنکور سراسری86 فایل📂 بیمه و بانکداری (آموزش_و_پژوهش)83 فایل📂 عمران و نقشه برداری (نظام_مهندسی)76 فایل📂 نفت (آموزش_و_پژوهش)76 فایل📂 برق و مخابرات (مقالات_و_تحقیقات)75 فایل📂 کامپیوتر و IT (مقالات_و_تحقیقات)75 فایل📂 کنکور ارشد و دکتری74 فایل📂 دیگر73 فایل📂 مهندسی پزشکی (آموزش_و_پژوهش)73 فایل📂 شیمی (کارآموزی_و_گزارشات)72 فایل📂 ... پروژه های پرورش و دامپروری69 فایل📂 علوم دامی (آموزش_و_پژوهش)63 فایل📂 ... پروژه های تاسیس و خدمات56 فایل📂 پزشکی (مقالات_و_تحقیقات)52 فایل📂 حقوق (کارآموزی_و_گزارشات)45 فایل📂 تغذیه (آموزش_و_پژوهش)40 فایل📂 حسابداری (مقالات_و_تحقیقات)40 فایل📂 بانک ها40 فایل📂 🔺قالب و پلاگین40 فایل📂 علوم اجتماعی (مقالات_و_تحقیقات)37 فایل📂 مهندسی معدن (آموزش_و_پژوهش)37 فایل📂 C و C++33 فایل📂 پزشکی و پرستاری (کارآموزی_و_گزارشات)29 فایل📂 دندانپزشکی (آموزش_و_پژوهش)28 فایل📂 سی شارپ28 فایل📂 ... پروژه های پزشکی و دارو27 فایل📂 معماری (نظام_مهندسی)27 فایل📂 مامایی (آموزش_و_پژوهش)26 فایل📂 ویژوال بیسیک26 فایل📂 نظام مهندسی25 فایل📂 نفت (کارآموزی_و_گزارشات)25 فایل📂 نساجی (آموزش_و_پژوهش)24 فایل📂 کشاورزی و محیط زیست (مقالات_و_تحقیقات)23 فایل📂 طراحی وب21 فایل📂 انیمیشین و وکتور (آموزش_و_پژوهش)18 فایل📂 داروسازی (آموزش_و_پژوهش)17 فایل📂 مهندسی شیلات (آموزش_و_پژوهش)16 فایل📂 Android14 فایل📂 مهندسی آب (کتب_و_جزوات)13 فایل📂 ICDL13 فایل📂 کشاورزی و محیط زیست (کتب_و_جزوات)13 فایل📂 Matlab13 فایل📂 مکانیک (نظام_مهندسی)12 فایل📂 مهندسی بهداشت (کتب_و_جزوات)12 فایل📂 کتابداری (آموزش_و_پژوهش)12 فایل📂 مواد و متالوژی و معدن (کارآموزی_و_گزارشات)11 فایل📂 آیین نامه رانندگی11 فایل📂 PHP11 فایل📂 داروسازی (کارآموزی_و_گزارشات)11 فایل📂 ... پروژه های کارآموزی و کارورزی10 فایل📂 مهندسی آب و هواشناسي (کارآموزی_و_گزارشات)10 فایل📂 دستگاه های اجرایی9 فایل📂 برق و مخابرات (نظام_مهندسی)8 فایل📂 ... پروژه های کارآفرینی و توجیهی7 فایل📂 وردپرس7 فایل📂 شرکت گاز6 فایل📂 اسمبلی5 فایل📂 Visual Basic.net5 فایل📂 وزارت نیرو4 فایل📂 شرکت نفت4 فایل📂 HTML4 فایل📂 ASP.net4 فایل📂 دلفی4 فایل📂 علوم نجوم (آموزش_و_پژوهش)3 فایل📂 طراحی (کتب_و_جزوات)3 فایل📂 مصاحبه حضوری3 فایل📂 شهرداری3 فایل📂 پایتون1 فایل📂 🔺زبان برنامه نویسی و اسکریپت1 فایل📂 SQL Server1 فایل📂 جاوا1 فایل📂 اسکریپت1 فایل

جستجو در بین فایل‌ها