V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  zihuyishi  ›  全部回复第 2 页 / 共 6 页
回复总数  111
1  2  3  4  5  6  
我写了一个深搜,算的 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)
}
```
2024 年 12 月 31 日
回复了 htxy1985 创建的主题 程序员 求一款比较成熟的 golang 服务端热更方案
根据网游的经验,就是先上更新的服务器,不给旧的导流量,然后在 deadline 时把旧的切掉。
实际操作就是 k8s 上新 pod ,然后下旧 pod 。
2024 年 12 月 23 日
回复了 tangler 创建的主题 游戏 POE2 终于进终局了,谈谈感受
他异界这个一命模式是真的恶心人。然后清图还要经常跑回头路,地图又大。明明 1 代给 6 个门的异界模式挺好的,不知道为啥非要走回头路。很怀疑是设计师玩最后纪元玩多了
2024 年 12 月 19 日
回复了 pinyoung 创建的主题 上海 v 友们,要不要入沪户
我也是河北的落户上海,总归再差也比河北好哈哈。这个不是要看你以后去哪里发展么,比如在上海的话,落个户口起码不用在失业的时候担心社保断了。
这不就是朝三暮四,取消了公摊单价上来了不还是一样。
2024 年 12 月 10 日
回复了 nihaojob 创建的主题 程序员 我们的开源项目有办公室了 落座邯郸 欢迎过来喝茶
为啥我感觉邯郸很贵但是平均工资还那么低呢。新世纪买个衣服比我在上海买衣服都贵
2024 年 12 月 9 日
回复了 Canglin 创建的主题 问与答 请教大家一个公积金贷款的问题
上海很难受,余额多的选年冲平时压力还大。不过后来我也想通了,最近这个经济形势搞不好就要失业,留着公积金余额起码能缓冲很久
2024 年 11 月 21 日
回复了 Jed2020 创建的主题 程序员 求助: APP 在后台还能执行逻辑,发送数据吗
你参考下音乐软件怎么实现的,把自己伪装成音乐 app 常驻后台就行了。以前很多流氓 app 也是这么实现的,所以就会出现你听着歌打开这个软件歌停了
excel 确实很方便呀,我之前做游戏的时候都是专门做了 excel 转配置的功能,然后做成 unity 的按钮,只要点一下,自动把固定 id 的 excel 转换成配置。策划只要每次拉表然后点 unity 按钮就能更新配置
2024 年 11 月 14 日
回复了 Felldeadbird 创建的主题 分享创造 我用 Golang+Vue3 写了一个房租管理系统
我要是有一栋楼收租,我不介意每天花点时间去算房租,也算是一种乐趣了吧
全靠这回让我用上了 pdd ,以前对价格一点也不敏感,换成拼夕夕才发现原来东西可以这么便宜,20 一箱橘子好吃又便宜。以前从来不会对比不同平台价格的,才知道自己多花了那么多钱
2024 年 11 月 8 日
回复了 markyume 创建的主题 上海 上海人/新上海人在这两年,还会选择购买新房吗?
我是上车了,我是觉得普通人基本上不可能买到底,刚需能上就上呗
瑞幸官方店有卖的,我自己感觉是不太好喝
2024 年 10 月 22 日
回复了 gzldc 创建的主题 职场话题 老婆闺蜜的老公在上海做房产销售,这个月发了 15w
销售和中介到底能返点多少呀,我也是国庆期间上车了,但是没有找中介要返点,后来看别人甚至可以返点 10w ?感觉自己血亏呀
2024 年 10 月 17 日
回复了 mns 创建的主题 分享发现 JD 这是咋了?客服直接泄露用户信息么?
虽说大家都是草台班子,信息泄露心照不宣了,但是这么明着摆出来也实在是不好看呀
2024 年 9 月 26 日
回复了 nyxsonsleep 创建的主题 问与答 怎么禁止直接调用命令,但是脚本中可以使用?
@nyxsonsleep 这不是掩耳盗铃么...
2024 年 9 月 24 日
回复了 blackstack 创建的主题 程序员 使用 socket 做进程间通信的架构师属于什么水平
这种不是直接上 grpc 就行了,简单通用还好写。不过 socket 也没啥毛病吧,以后 android 和 windows 搞不好还要互相通信呢,走网络栈怎么想都是比较稳妥的做法。
2024 年 9 月 23 日
回复了 bboring 创建的主题 情感问题 和学妹微妙的关系 —— 后续
把 yw 写的这么清新脱俗也是第一次见了
1  2  3  4  5  6  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   898 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 22:33 · PVG 06:33 · LAX 15:33 · JFK 18:33
♥ Do have faith in what you're doing.