拼图问题-打乱的图能否还原

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拼图问题-打乱的图能否还原相关的知识,希望对你有一定的参考价值。

这周web作业,做个小小的拼图游戏,想到了随机打乱的拼图能否还原的问题,参考了博文逆序数奇偶性判断。 自己理解如下,
对于一个拼图原来的情况可以简化如下:
1 2 3
4 5 6
7 8 0
以行优先原则排列为123456780
交换0与其他元素x的位置:
B1 S1 x B2 S2 0
其中B1为原来x之前比x大的,S1为原来x之前比x小的,B2,S2类比
因为0最小所以可以不用分类了。
原来的逆序数为B1+S1+1+B2+S2+B1+S2(这里只考虑将会改变的部分)
后来的为B1+B2+B1+ S1
差为2S2+1为奇数,说明每交换一次位置奇偶性改变一次。而0元素没相邻交换一次横纵坐标的和改变奇偶性,所以原图在若干次0元素相邻交换后逆序数加上0元素横纵坐标的和是奇偶性不变的,从而把所有的排列分为那个和为奇和和为偶的排列,找到和原图和相等的排列的打乱拼图就可以还原这个拼图。

以上是关于拼图问题-打乱的图能否还原的主要内容,如果未能解决你的问题,请参考以下文章

拼图游戏(数码还原游戏)算法的研究

拼图游戏(数码还原游戏)的实现

拼图游戏-从基础到应用玩转手势变化。

移动迷宫——拼图游戏

移动迷宫——拼图游戏

逆序数-拼图游戏必备知识