首页 > 费解的开关
头像 Trkly
发表于 2020-08-26 12:33:36
更好的阅读体验: 博客园-Acapplella 题目描述 你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1” 展开全文
头像 RandolphJ
发表于 2019-12-07 22:09:03
题目链接 在cnblogs查看 对于每组数据都跑一边bfs可能会TLE 1.逆向思想+bfs预处理(参考博客) 运用逆向思维,我们可以从灯全亮的状态开始bfs走6步,记录下所有能到达的状态所需步数,相当于预处理,对于每组数据直接输出答案即可。时间复杂度约为O(68408+T×25)(bfs入队684 展开全文
头像 Peterliang
发表于 2020-07-31 16:02:38
果然,暂时做不出的题目其实没必要死磕,可能只是自己的当前的能力还不够,学到了一定的程度之后有些题目自然就更好理解了,特别是对于我们计算机专业,知识体量大。以上皆是废话!!!这个题目似乎可以作为搜索和位运算的一个十分典型的题目了。然而对于怎么用位运算我真的十分的弱,orz,orz,orz。目前还没有理 展开全文
头像 guoyifan
发表于 2020-10-31 08:54:35
用深搜做该题时,对每一个点都遍历一遍会超时所以应该对其优化先来看例子1 0 1 1 10 1 1 0 11 0 1 1 11 0 0 0 01 1 0 1 1先看第一行,若我们想修改第一行的值,只需要修改位于它下面的值如1 1 1 1 11 0 0 0 11 1 1 1 11 0 0 0 01 1 展开全文
头像 pphkaa
发表于 2020-07-12 17:25:20
思路:首先用枚举第一行的按开关情况,一共有32种情况(00000-11111),分别计算出这些情况按开关后亮灭情况再通过改变第二行的将第一行的灯全亮,以此类推通过改变第三行使第二行全亮,改变第四行使第三行全亮,改变第五行使第四行全亮。最后更新最小按灯数。 由于只有25个灯,int的有效范围是32位, 展开全文
头像 wangdingbang
发表于 2020-10-31 16:01:01
费解的开关 题目描述 你玩过“拉灯”游戏吗?25 盏灯排成一个 5x5 的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字“1”表示一盏开着的灯,用数字“0”表示 展开全文