برنامه ماز

  • شروع کننده موضوع شروع کننده موضوع Maryam91
  • تاریخ شروع تاریخ شروع
وضعیت
موضوع بسته شده است.

Maryam91

کاربر نیمه‌فعال
ارسال‌ها
12
امتیاز
0
نام مرکز سمپاد
فرزانگان
سلام
برنامه ای بنویسد که یک مسیر پر پیچ و خم را پیاده سازی کند. این مساله که شبیه سازی شده مسیر پرپیچ و خم در زیست شناسی است با استفاده از یک ماتریس مربع با ابعاد دلخواه پیاده سازی می شود. عناصر این ماتریس به طور تصادفی تولید می شوند و تنها می توانند صفر یا یک باشند. صفرها محل عبور و یک ها دیوار می باشند. برنامه شما باید برای ماتریس با هر ابعادی پاسخگو باشد و در صورت امکان راه رسیدن از گوشه بالا سمت راست به گوشه پایین سمت چپ را نشان دهد.

شما چه راه هایی به ذهنتون می رسه؟ :-w
 
پاسخ : برنامه ماز

اگه فقط پایین و سمت راست بتونه بره که راحته حالا چه جوریه؟
 
پاسخ : برنامه ماز

اگر با گراف آشنایی دارین ، یک گراف بسازین و روش BFS بزنید به جواب می رسین !
اگر خواستین بگین بیشتر توضیح بدم !
 
پاسخ : برنامه ماز

sghl
به نقل از آرمیتا ثابتی اشرف :
اگر با گراف آشنایی دارین ، یک گراف بسازین و روش BFS بزنید به جواب می رسین !
اگر خواستین بگین بیشتر توضیح بدم !
سلام
بله ، ممنون میشم.
 
پاسخ : برنامه ماز

به نقل از sajadjalali :
اگه فقط پایین و سمت راست بتونه بره که راحته حالا چه جوریه؟

سلام
ببخشید ، منظورتون رو از این که فقط بتونه پایین و راست بره متوجه نمی شم.
 
پاسخ : برنامه ماز

یک گراف بسازین
به ازای هر خونه ی جدول یک راس بذارین و اگر دو خونه با هم همسایه اند و 1 نیستند بینشون یک یال بکشید .
بعد روش به این صورت BFS بزنید :
خونه ای که الان توش هستین رو در نظر بگیرین ، و تمام همسایه هاش رو در یک صف ذخیره کنید .
از اول صف شروع کنید و خونه ای که توش هستید اگر خونه ی پایانی نبود همسایه های غیر تکراریشو رو به ته صف اضافه کنید و خود اون خونه رو از صف حذف کنید .

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

به نقل از Programmer19 :
سلام
ببخشید ، منظورتون رو از این که فقط بتونه پایین و راست بره متوجه نمی شم.
میخواین ولش کنین من تو ذهنم این بود که تعداد راه ها را می خواهید بشمارید
 
پاسخ : برنامه ماز

به نقل از آرمیتا ثابتی اشرف :
یک گراف بسازین
به ازای هر خونه ی جدول یک راس بذارین و اگر دو خونه با هم همسایه اند و 1 نیستند بینشون یک یال بکشید .
بعد روش به این صورت BFS بزنید :
خونه ای که الان توش هستین رو در نظر بگیرین ، و تمام همسایه هاش رو در یک صف ذخیره کنید .
از اول صف شروع کنید و خونه ای که توش هستید اگر خونه ی پایانی نبود همسایه های غیر تکراریشو رو به ته صف اضافه کنید و خود اون خونه رو از صف حذف کنید .

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

سلام
خیلی ممنون!:)
ما توی کلاس عادی کامپیوتر در مورد گراف ها چیزی نمی خونیم.و این برنامه رو باید از راه عادی حل کنیم.
بهترین راهی که الآن به نظر من می رسه استفاده از آرایه یک بعدی است.
که البته مسلمأ برنامه کمی طولانی تر میشه.
 
پاسخ : برنامه ماز

اگه بخواین با ویژوال بنویسین خیلی راحته
 
پاسخ : برنامه ماز

به نقل از mamalmln :
اگه بخواین با ویژوال بنویسین خیلی راحته

مسئله الگوریتمه.
 
وضعیت
موضوع بسته شده است.
Back
بالا