PDA

View Full Version : کمترین حرکات در یک puzzle



jprogramer
سه شنبه 24 اردیبهشت 1392, 12:04 عصر
ا سلام خدمت همه دوستان.من برنامه ای رو که واستون توضیح خواهم داد باید بنویسم اما نمی دونم از چه الگوریتمی باد استفاده کنم به دادم برسین.

mehrdad1991h
سه شنبه 24 اردیبهشت 1392, 13:33 عصر
در این پازل که شما گفتی فضای خالی نداریم و جایگزینی داریم
یعنی مثلا در مثال خودتون 0 جایگزین 6 شده
سپس 0 جایگزین 5 شده
شده
left - left
خوب میدونیم که کوتاه ترین مسیر بین دو نقطه یک خط راست است
و میدونیم که در این پازل اجازه نداریم مورب حرکت کنیم (مثلا در مثال شما نمیتونیم 0 را جایگزین 2 بکنیم)
خوب با این فرضیات برا این که کوتاه ترین مسیر را به دست بیاری

تنها کاری که لازمه بکنی اینه که به صورت افقی و عمودی حرکتت را ادامه بدی و خونه هایی که بین این دو نقطه هست را بشماری

برای هر خونه یه مکان در نظر میگیری (x,y)
خانه ای هم که مقصد هست هم دقیقا x,y داره خوب اینا را که داشته باشی راحت میشه دیگه......
اختلاف بین x ها و y ها را به دست میاری میشه تعداد خونه هایی که باید حرکت کنن

نمیدونم تونستم چیزی بهتون بفهمونم یا خیر ....:)

jprogramer
پنج شنبه 26 اردیبهشت 1392, 07:59 صبح
ممنون تا حد زیادی تونست به کمکم بیاد