永发信息网

智能拼图算法

答案:2  悬赏:80  手机版
解决时间 2021-04-10 15:19
  • 提问者网友:自食苦果
  • 2021-04-10 07:33
以拼图为基础,已知现有表示拼图的子图片属性随机序列(pair<坐标,该坐标子图片属性>,含宽度、高度,以及起始空点)和达成目标的判断方法,怎样寻找最少步骤的操作序列,不要说直接迭代找,昨天弄了个4X4的迭代寻找,按那速度得好几天,所有语句就差直接用汇编写了。只要算法,有就有,没有的话想一个出来也太划不来了。
简单的要求:
1 每次只能移动一列或一行的部分或者全部,且空点必须在这一列或这一行。
2 判断方法只提供判断方法,或者提供MAP<坐标,子图片属性值> 表示目标达成时指定坐标的子图片属性,
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-04-10 08:43
本来这个游戏技巧是有的,不过你要找最优解,可能构造解就有难度.
试试A*吧,虽然我没写过但我觉得搜索不至于太慢的,你的迭代搜索那么慢可能是有些地方没有优化.比如状态去重,如果搜索的时候一直绕着4个方格在转肯定就会有一堆浪费的搜索枝.
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-04-10 10:09
我那个程序找不着了,我在那个帖子回了,你找一下。 这个算法应该是bfs,dfs你觉得。。。呵呵。。 bfs+hash hash选择排列数的康托展开。这样可以在2s内圆满解决。 (指2s预处理,然后应对所有的输入瞬间出解)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯