https://kuakua.app/zh/games/lightsoff
你能在几步之内关掉所有的灯吗?🔲⬛ 经典益智游戏来了!🧩 你需要多少步才能通关?😎

点击方块,关灯,看看你是否能打破自己的最佳时间!🕹️ 准备好接受挑战了吗?👀
举报· 1030 次点击
登录 注册 站外分享
9 条回复  
pigf 小成 昨天 18:46
我这智商有点玩不转 https://i.imgur.com/n119Wvk.png
lxdlam 小成 昨天 19:02
在 GF(2) 域上解线性方程组。
zihuyishi 小成 昨天 19:08
我写了一个深搜,算的 13 步能跑完,不知道对不对 ```golang package main import "fmt" const N = 5 type Status [N][N]bool func (s Status) Click(x, y int) Status { s[x][y] = !s[x][y] if x > 0 { s[x-1][y] = !s[x-1][y] } if x < N-1 { s[x+1][y] = !s[x+1][y] } if y > 0 { s[x][y-1] = !s[x][y-1] } if y < N-1 { s[x][y+1] = !s[x][y+1] } return s } func (s Status) IsAllOn() bool { for i := 0; i < N; i++ { for j := 0; j < N; j++ { if !s[i][j] { return false } } } return true } func (s Status) Hash() int64 { h := int64(0) for i := 0; i < N; i++ { for j := 0; j < N; j++ { h = h * 2 if s[i][j] { h += 1 } } } return h } type Node struct { Status Status Step int } func search(s Status) (int, bool) { searched := make(map[int64]bool) queue := make([]Node, 0) queue = append(queue, Node{Status: s, Step: 0}) searched[s.Hash()] = true for len(queue) > 0 { cur := queue[0] queue = queue[1:] if cur.Status.IsAllOn() { return cur.Step, true } for i := 0; i < N; i++ { for j := 0; j < N; j++ { next := cur.Status.Click(i, j) if next.IsAllOn() { return cur.Step + 1, true } if !searched[next.Hash()] { queue = append(queue, Node{Status: next, Step: cur.Step + 1}) searched[next.Hash()] = true } } } } return 0, false } func main() { s := Status{ {false, true, false, false, false}, {true, true, true, false, false}, {false, true, false, true, false}, {false, false, true, true, true}, {false, false, false, true, false}, } step, ok := search(s) fmt.Println(step, ok) } ```
zihuyishi 小成 昨天 19:12
@zihuyishi 额,不好意思说错了,是广搜,纯暴力跑。
AlexJesus 楼主 初学 昨天 19:24
https://i.imgur.com/daryr5c.jpeg 哈哈,我也只能用自己的脑子试着玩。之前在前面也卡很久。 @pigf #1
AlexJesus 楼主 初学 昨天 19:25
@zihuyishi #3 何不食肉糜。哈哈哈。这个就是来自己开发一下脑力的,用暴力就失去意义啦。
AlexJesus 楼主 初学 昨天 19:25
@lxdlam #2 我还需要加强数理应用学习😄
Kaciras 小成 昨天 20:44
小学的时候玩过好多 Flash 版的,一个经验是先搞到对称,后续也对称操作。
mozhizhu 小成 昨天 20:50
我以为是:“小爱同学,关掉所有的灯”
返回顶部