پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

استفاده از الگوریتم های DFS، BFS, A_star در کد مربوط به جابه جایی در ماتریس ( تا 12 شب امشب وقت هست)

دو سال پیش منتشر شده

تعداد بازدید: 78

کد پروژه: 458465


شرح پروژه

ورودی توابع یک آرایه ۲بعدی از کاراکترهاست که هر عضو آن وضعیت یک کاشی را مشخص می‌کند. هر کاشی می‌تواند دارای یکی از ۵ حالت زیر باشد. . دیوار . جعبه . سنگ . شما . کاشی خالی شما می‌توانید وارد خانه‌ای که کاشی خالی و یا جعبه است شوید. همچنین می‌توانید با حرکت به خانه‌هایی که در آن‌ها سنگ قرار دارد سنگ‌ها را هل دهید اما باید توجه داشته باشید که مسیر سنگ در جهتی که هل می‌دهید مسدود نباشد همچنین اگر دو سنگ پشت سر هم بودند نمی‌توانید آن‌ها را هل دهید. هدف شما این است که با حرکت در کاشی‌های ازاد و هل دادن سنگ‌ها، همه سنگ‌ها را در جعبه‌ها بگذارید. وارد دیوار شدن و هل دادن دو سنگ پشت سر هم باعث باختن شما می‌شود. خروجی تابع شما آرایه‌ای از کاراکترهای r, l, u, d می‌باشد که ترتیب حرکت شما را مشخص می‌کند. که به معنی right, left, up و  down است. این ها تعریف متغیر ها در ماتریس ورودی ما است : Free space -> f Box -> b Agent(you) -> a Stone -> s Wall -> w   این مثالی برای ورودی و خروجی است : ورودی : [ [f, f, b], [a, s, f], [f, f, f] ]   خروجی :  [r, d, r, u]   توضیح : مثلا اینجا، در سمت راست خود یک سنگ داشتیم و خونه ی سمت راست خود سنگ هم خالی بود، پس میتوانیم به راست برویم و سنگ را هول بدهیم و سنگ را زیر خانه ای قرار بدهیم که جعبه است. سپس دیگر نمیتوانیم سنگ را هول بدهیم پس به خانه ی پایین می رویم سپس به راست می رویم. حال در خانه ای هستیم که زیر خانه ای است که سنگ در آن است.. پس با هول دادن سنگ به بالا ( پس حرکت ما بالا یا همان u است )، میتوانیم آن را در جعبه بذاریم.   تصور کنید سنگی در سمت راست ما وجود دارد. اگر به راست (r) حرکت کنیم، سنگ نیز به سمت راست می رود (منظورم این است که می توانیم سنگ را به جلو هل دهیم).
اما برای هل دادن سنگ شرطی وجود دارد:
خانه بعدی باید خالی (f) یا جعبه (b) باشد.
بنابراین اگر خانه بعدی خارج از محدوده ماتریس ورودی باشد یا خانه بعدی دیوار باشد یا خانه بعدی جعبه ای باشد که قبلاً سنگی در آن وجود دارد، ما اجازه نداریم سنگ را در این مسیر هل دهیم.
تصور کنید یک ردیف مانند این داریم: [a, s, f]
در این وضعیت، ما "a" هستیم.
اگر به سمت راست (r) حرکت کنیم، نقشه به این شکل به روز می شود: [f, a, s]   توضیحات کلیدی اضافه :

برای جواب این سوال باید یک فایل zip آپلود کنید که شامل فایل solver.py است.

در فایل solver.py باید توابع زیر پیاده‌سازی شده باشند:

def dfs(board2D): return answer1D

 def bfs(board2D): return answer1D

 def a_star(board2D): return answer1D

در مورد a_star، هرچقدر تابع هیوریستیک بهتر باشد، نمره ی بیشتری میگیریم.

مهارت ها و تخصص های مورد نیاز


مهلت برای انجام

1روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت دو سال پیش

2 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 0%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار