puzzle(0331)数字拼图滑动

本文探讨了不同形状的数字拼图游戏,包括矩形、异形、三角形(方向不可变和可变)及六边形的解题策略。重点介绍了奇偶性在确定拼图可复原性中的作用,以及通过化为子问题的解决方法。此外,还提供了实际编程案例和特定问题的解决方案,如233问题和433问题。

目录

一,矩形数字拼图滑动

1,链接

2,游戏规则

3,术语

4,总状态数奇偶不变定理

5,判定——必要性

6,极小化

7,策略(化为子问题)

8,判定——充分性

9,OJ实战

SGU 139 Help Needed

二,异形谜盘

三,三角形数字拼图滑动(三角形方向不可变)

四,三角形数字拼图滑动(三角形方向可变)

233问题

433问题

五,六边形数字拼图滑动


一,矩形数字拼图滑动

1,链接

4399拼图游戏

或者我是最强大脑这个app中的数字华容道小游戏中的经典模式。

 

2,游戏规则

给你一个n(n>1)行m(m>1)列的矩阵,刚好由0,1,2。。。。。。n*m-1这n*m个数组成。

通过一系列的操作,使得矩阵变成如下状态(以下简称复原状态):

按照从上到下(一级排序),从左到右(二级排序)来排序,矩阵可以排成数列1,2,3,4。。。。。。n*m-2,n*m-1,0

操作只有1种,0和0的若干邻居(上下左右,最多4个邻居)中的某一个交换位置。

拼图游戏里面,0对应的格子是空的。

3,术语

逆序:

对于n个不同的元素,先规定个元素之间有一个“标准次序”(例如n个不同的自然数,可规定由小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就有1个“逆序”。点击打开百科词条

逆序数:

一个排列中所有逆序的总数叫做这个排列的“逆序数”。点击打开百科词条

曼哈顿距离:

固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。点击打开百科词条

总状态数:

逆序数是数列的一种状态数,曼哈顿距离是线段的一种状态数。

同样的,对于如上所说的n*m的矩阵,也可以定义总状态数。

总状态数=逆序数+0所在的格子到右下角的格子的曼哈顿距离(以下简称曼哈顿距离)。

4,总状态数奇偶不变定理

对于一个序列,每交换任意2个数,逆序数的奇偶性都会改变1次。

对于拼图游戏,每交换一次,曼哈顿距离的值都加1或者减1,所以奇偶性也会改变1次。

所以说,对于拼图游戏,总状态数的奇偶性是永远不变的。

5,判定——必要性

任何1个n*m的矩阵,是否都能移成复原状态呢?不一定。

首先,复原状态的总状态数的奇偶性可以算出来,曼哈顿距离为0,逆序数为n*m-1

所以总状态数的奇偶性就是n*m-1的奇偶性。

那么,对于任意给定的矩阵,很明显有的状态的奇偶性符合,有的却不符合。

根据总状态数奇偶不变定理,奇偶性不对的肯定无法复原,比如

这个状态的逆序数为15,曼哈顿距离为0,所以这个状态为奇,

而总状态数的奇偶性是3*5-1=14为偶,所以这个状态肯定无法复原。

有的状态是可以复原的,比如

这个状态的逆序数为14,曼哈顿距离为4,和为偶,经验证,这个状态是可以复原的。

说起来,这2个图就是上面的链接里面的4399游戏截图的,因为初始化比较慢,

而且还没初始化完就可以开始点了,于是我侥幸能得到这2张图。

那么,是不是只要状态的奇偶性对了,就一定可以复原呢?

这个值得思考,请继续看!

6,极小化

对于2*2的拼图,只有4!=24种状态。n=2,m=2,n*m-1=3

可以验证,有12种奇状态,全部可以复原,有12种偶状态,全部无法复原。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值