關燈遊戲

關燈遊戲

一款簡單的益智遊戲
一款簡單的益智遊戲,能夠開啟思維能力,希望大家喜歡。遊戲分為簡單、普通、困難三個難度。可以逐級挑戰。本遊戲沒有設立關卡,可以随心所欲的玩。
    中文名: 原版名稱: 别名: 遊戲類型:休閑益智 原作者: 原作品: 遊戲平台: 所屬系列: 地區: 開發商: 發行公司: 遊戲售價: 制作人: 總監: 編劇: 主要配音: 背景音樂: 内容主題: 玩家人數: 遊戲畫面: 遊戲引擎: 遊戲分級: 最新版本: 最新版本大小: 發行階段: 結局數: 主要角色: 外文名: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的解了。

相關詞條

相關搜索

其它詞條