关灯游戏

关灯游戏

一款简单的益智游戏
一款简单的益智游戏,能够开启思维能力,希望大家喜欢。游戏分为简单、普通、困难三个难度。可以逐级挑战。本游戏没有设立关卡,可以随心所欲的玩。
    中文名: 原版名称: 别名: 游戏类型:休闲益智 原作者: 原作品: 游戏平台: 所属系列: 地区: 开发商: 发行公司: 游戏售价: 制作人: 总监: 编剧: 主要配音: 背景音乐: 内容主题: 玩家人数: 游戏画面: 游戏引擎: 游戏分级: 最新版本: 最新版本大小: 发行阶段: 结局数: 主要角色: 外文名:lights out 限制等级:E级(所有人) 操作系统:IOS 发行时间:2011

游戏简介

这是个很有意思的益智游戏,如果关掉了一个电灯周围的电灯也会触及开关,要将所有电灯熄灭还需要你周密的设计才行,大家快来试试吧!

游戏规则

《关灯游戏 Lights Out》是一款简单的益智游戏,能够开启思维能力。1995年就发布了,说起规则大家就都明白了,一个点阵中的各个点分为明、暗两种状态,如果点击一个点,则该点会改变状态,同时上下左右四个点也会改变状态,最终要求将点阵中的点全部点亮或者全部熄灭。

求解方法

首先我们要将这个游戏的过程转化为数学模型。

显然地,对于一个方格,会影响到它的方格只有它本身和与它相邻的4个方格(对于边界的方格来说,相邻的方格不足4个)。

并且很容易发现,每一个方格我们要么不点击,要么点击1次,因为点击一个方格两次及以上是没有任何意义的。每点击两次就相当于没有点击。

对于方格i,我们用0表示不点击它,用1表示点击它,记作Si。

每盏灯的状态只有开或者关,我们用0和1表示方格i状态,方格i的初始状态记为Mi。

可以看出,每盏灯i的最终状态只与Mi+Si+Sk1+Sk2+....+Skp(k1...kp是枚举与i相邻的所有方格)的奇偶性有关。

既然只与奇偶性有关,我们就可以用异或运算来表示它。

也就是说,对于每盏灯i,我们都可以得到一个方程Mi xor Si xor Sk1 xor Sk2 xor...xorSkp=0。

等式右边的0表示最后每盏灯的状态都是关闭的。

这个方程其实也就等价于Si xor Sk1 xor Sk2 xor ... xor Skp=Mi。

我们得到了Tot个这样的方程(Tot是灯的数量,即Tot=n*m),共有Tot个未知数(即Tot个Si),就是一个异或方程组。

由于游戏给定的初始状态一定有解,所以我们是一定可以求出这个异或方程组的一组解的。

那么下面的问题就是:怎样求解异或方程组?

显然,我们要使用高斯消元来求异或方程组的解。

这个过程与使用高斯消元求解普通的线性方程组相似(如果不了解高斯消元可以看一下Wikipedia-高斯消去法),只是每次在一个方程中消去一个未知数的时候,不是将这个方程乘上一个系数后与另一个方程相减,而是将这个方程的系数与另一个方程的系数进行异或运算,两个方程右边的数也要一起进行异或。

这样就可以求出Lights Out的解了。

相关词条

相关搜索

其它词条