码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-04-16 22:49:29      阅读:1007      评论:0      收藏:0      [点我收藏+]

标签:随机   交换   csdn   tail   其他   detail   分类   拼图   targe   

这周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元素横纵坐标的和是奇偶性不变的,从而把所有的排列分为那个和为奇和和为偶的排列,找到和原图和相等的排列的打乱拼图就可以还原这个拼图。

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

标签:随机   交换   csdn   tail   其他   detail   分类   拼图   targe   

原文地址:http://www.cnblogs.com/eggplant-is-me/p/6720108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!