这是一个扩展问题42842。在这种情况下,让人不解的是三维的,并且是大小的3x3x3的。在拼图的27位中,有26被编号为1至26立方体占据,而其余位置是空的。您可以在邻近的立方体滑入空位置,类似于滑动相邻的瓦到15拼图的空位置。
在这种情况下,为简单起见,难题是由砌的矢量形式,使得拼图的3D形式可以通过获得表示重塑(ρ,3 3 3])。因此,解决立方体应是这样的:
P = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 0]
给定的初始状态向量,P,返回一个矢量,米,包括整数的序列,代表要滑动立方体的线性索引,反过来,入空位置,为了解决这一难题。
和以前一样,该解决方案并不一定是有效的。它必须简单地导致正确解决的难题。非法移动,如试图瓦片不相邻的开口槽滑动,将被忽略。
例:
P = [0; 2; 3; 1; 5; 6; 4; 7; 9; 10; 11; 12; 13; 17; 14; 16; 8; 18; 19; 20; 21; 22; 23; 15; 25; 26; 24]
米= [4 7 8 17 14 15 24 27]
有在评价函数中的错误,我认为 “ABS(A1 + B1 + C1 - A0 - B0 - C0)== 1” 应改为“ABS(A1-A0)+ ABS(B1-B0)+ ABS(C1-C0)== 1" 。无论如何,这是一个非常酷的问题,除非我记错,这将是第一个一个强迫我实现科迪一些版本A的* :)
阿方索,这是一种荣誉和高兴有阅读您的评论。我很高兴你喜欢的问题。感谢您为察觉的错误。我将相应地更新。
阿方索,我已经修复了这一错误。其结果是,我实际上位于一个小错字,在我自己的解决方案,这是一个单个字符,其实,正确的,并根据您的修正不正确的解决方案之间的差异。固定当然,太多。再次感谢!
这需要9秒解决我的笔记本电脑四个输入,但是系统拒绝了我的代码的长期运行时的错误。什么是四个输入可以接受的时间?
这一次我不停地忙碌,我想我的解决方案是一个有点绝技的。它是食谱为主,而不是最优的,但也有太多的角落情况下编程左右。我应该更好地利用的不变集,我猜。
难题
骗子!
有人可以消除这种作弊的解决方案?
哇,我喜欢这个解决方案,以3X9板,冒泡策略的等价性,即使是190尺寸的一切:)
谢谢。
这个问题是如此困难我解决,你会介意解释什么是搜索算法你实现?谢谢。
它是使用基于曼哈顿距离的靶为每个26瓦的总和启发式最佳优先搜索;解1310071略微评论的情况下,帮助
在完成所有cody5困难问题@daniel顺便说一句恭喜,这是相当了不起的成就!(我有它更容易,已经创建了几个问题在同一组,所以我的不算:)
我试过一个类似的搜索,但它并没有在时间结束,我不知道为什么。
PD:你太客气了!我所有的一周一直拉着所有通宵达旦完成所有这些,我敢肯定,它没有把你所有的时间来解决它们。
PD2:我在履行所作的一个问题(44390)于所有的痛苦和后者的满意度带给我的这些5 anniversay问题,你应该看看:)
我曾尝试与此类似“最好优先搜索”算法的东西(如果我理解正确的术语),但我更接近最终的解决方案,我一直运行到的情况下所有可用的移动移动砖出来的其正确的位置,所以我的启发法官所有的人都一视同仁,和算法只是开始做伪随机移动。你在看的一些小数量的移动所有的可能性,并捡一组移动从移动吗?