مساله کاشی های چرخان
سلام خدمت همه دوستان عزیزم

در این مساله که شبیه پازل16 میمونه ، هدف رسیدن از حالت ابتدایی به حالت نهایی هست (حروف ABCDEFGHIJKL داریم و بجای Empty حرف N گذاشتیم )، منتهی برخلاف روش معمول که میتونیم خانه های اطراف خانه خالی رو با اون جابجا کنیم ، در اینجا همونطور که در عکس مشخص هست ، کاشی های هم گروه ( بلوک های چهارتایی ) می توانند، نود درجه در جهت عقربه های ساعت بچرخند ، یعنی گروه1 رو در نظر بگیرید ( 4 خانه گوشه سمت چپ تصویر ) اگر در حال حاضر رشته ABLN (بجای empty حرف N گذاشته شده ) نمایش می دهند پس از نود درجه تغییر حروف NABL نمایش داده می شه . 5 گروه داریم .
من برای حل ، مساله رو به صورت یک رشته 16 تایی در نظر گرفتم و گفتم با 90 درجه چرخیدن ، روی رشته حاصل چه اتفاقاتی میفته . من با جاوا کد زدم اما رشته ام ، پس از چندبار ، مضمحل میشه یعنی حروف تکراری توش میاد .
http://s9.picofile.com/file/8276739476/tr.zip.html
هم اکنون نیازمد یاری سبزتان هستم .

برای حل مساله باید درختی تشکیل دهیم ، بدین صورت که حالت اولیه ، ریشه این درخت است ، و حالتهایی که می توان از این حالت به آن رفت ، حالت های بعدی ( نودهای سطح بعدی درخت را تشکیل می دهند ) این ساختار درخت را به روشهای متفاوتی می توان نمایش داد ، یکی از این روشها استفاده از
ساختمان داده Map است که از زوج <key,value> تشکیل شده است ، بدین ترتیب که نود جدید که مشاهده می شود ، key و نود قدیمی که مشاهده شده است ، به عنوان value در نظر گرفته می شود .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .