博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最强大脑数字华容道背后的数学知识
阅读量:7144 次
发布时间:2019-06-29

本文共 1111 字,大约阅读时间需要 3 分钟。

看过最新一期的最强大脑的应该对数字华容道游戏留下了深刻的印象吧!当然可能大家更多地是记住了赌王之子何猷君(妥妥的高富帅),关键智商还高,麻省理工学院毕业的他在最强大脑第一个项目中就以21秒的成绩拿下了第一名。这瞬间让他本人成为各大媒体新闻的头条,其实往届的最强大脑我都没全程追看过,但是每天刷微博的我看见了这个头条后,还是很好奇这个背景如此好的何猷君的智商到底是不是新闻里说的那么神呢?然后看着看着就看完了一整季最强大脑。

最强大脑里的挑战项目由简到难,需要的道具也是越来越纷繁复杂。由于数字华容道这个游戏手机里都可以下载,而且小时候也玩过类似的拼图游戏。所以我也下载一个叫做三国华容道的app。里面有一类叫最强大脑的游戏。选了其中的数字华容道就开始玩了,初始状态如下图:

initial
可是玩着玩着遇到了无解的情况。一开始真是要怀疑自己的智商了,怎么就还原不出来呢?
无解
后面自己还查了些资料,有人推荐用降阶法的,看了解法视频,开始觉得,额这解法不错啊,我要按着这套路肯定能解决我的问题。。。。。。

最后你懂的,真的是存在无解的情况的。说到这,正好有个故事:

注定无人能拿下的1000刀

19世纪90年代,自称是15-puzzle(4×4)的发明人的Sam Loyd 曾悬赏1000美金,征求能仅仅把14和15交换的方法,这也就是著名的重排十五问题。一千美金在当时非常吸引人,导致很多人不务
正业成了“赏金猎人”。但是很遗憾,谁也没有拿走这它,或者可以这样说,其实谁也拿不走这一千美金。
clipboard.png

所以我们接下来就来看看给定一个n*n初始状态的推盘矩阵,怎么判断它能否复原成正确的顺序呢?

首先我们需要判断n的奇偶性,其次再计算矩阵初始状态的逆序数,结合逆序数的奇偶性就可以判断出奇数阶的初始推盘游戏能否通关。
逆序数的概念解释请看这:

具体总结如下:

  1. N为奇数, 逆序数为偶数则可解。
  2. N为偶数:
    2.1 空格在偶数行(从矩阵的倒数第一行开始往上数,如倒数第二行,倒数第四行等)并且逆序数为奇数则可解。
    2.2 空格在奇数行(从矩阵的倒数第一行开始往上数,如倒数第一行,倒数第三行等)并且逆序数为偶数则可解。

最后回到我下载的游戏存在无解的情况说几点:

1.对于手机游戏来说这应该算是一个bug了,应在在生成矩阵的随机初始状态时计算其有解性,如无解应该重新生成直至初始状态是可解的。要是最强大脑出现这种bug,那就要坑人了。
2.对于上面4*4无解的那个矩阵其实可以将其排列成如下的状态:
mirror
试想一下,如果是实物道具,将整个推盘逆时针旋转90度,然后再将里面的每个数字块顺时针转90度,其实也成功了有木有。那前面说的1000刀岂不是赚到了,你说呢?

转载地址:http://hpwgl.baihongyu.com/

你可能感兴趣的文章
arcgis for flex map遮罩
查看>>
设计模式之装饰模式篇(Decorator)
查看>>
为gif动画添加水印-有具体实现[2008-02-15日更新]
查看>>
hdu4288 Coder
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
ubuntu下mysql攻略
查看>>
餐饮云端
查看>>
Ajax , 好大一颗地雷啊
查看>>
黑客攻防实战入门(第三版)
查看>>
速度与激情
查看>>
DX9 HLSL Semantics
查看>>
HDU 4408 Minimum Spanning Tree(最小生成树计数)
查看>>
BZOJ 3142 数列(组合)
查看>>
csharp: word or excel Convert to PDF
查看>>
csharp: Export or Import excel using NPOI
查看>>
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《多显示器支持》篇
查看>>
“Linaro”将推动开源软件新一波开发潮
查看>>
VS201“.NET研究”0实践RUP4+1架构模型
查看>>
两级导航栏联动效果
查看>>
php ftp类
查看>>