这篇练习围绕灯阵开关的奇偶抵消,提供一份独立的虚构数据,用完整记录说明怎样从规则走到结果。它不依赖任何品牌或具体产品;实际游戏规则可能不同,不能把这里的示例直接当成通用设定。建议先自己推演,再核对每一步,重点是掌握判断依据而不是记住本次答案。
同一开关按两次会恢复它影响的全部灯。把操作压缩成每个开关按奇数次还是偶数次,可以将长输入序列转为有限的子集选择。
相邻灯未必相连,必须以连线表为准。先求最少按键次数,再按预先约定的规则选择同分方案,不能看到答案后换规则。
六灯六开关,编号0至5;开关同时翻转连线灯。目标全灭,求按键数最少的子集。同次数按递增编号列表的字典序选择较小者。
开关0影响灯[1, 2, 3, 4, 5] 开关1影响灯[0, 1, 5] 开关2影响灯[1] 开关3影响灯[4] 开关4影响灯[1, 2, 4, 5] 开关5影响灯[4] 初始亮灯[0, 1, 5]
按开关1,亮灯由[0, 1, 5]变为[]。
有效子集2个,选择[1],共1次。
枚举六十四种子集,再从零次、一次方案、两次方案逐层找第一个有解的层数。对每盏灯单独统计被所选开关影响的次数:初始亮灯应为奇数次,初始灭灯应为偶数次。
复盘时记录输入、操作前状态、操作后状态,先找到第一处与示例不同的位置。检查条件、单位、边界和更新顺序,不要只改最终数字。对“相等”“严格超过”“先处理哪一项”等表述,逐字落实到记录里;如果规则没有说明某个边界,先补充明确约定再继续。
完成后只改一条输入,先预测后续哪些记录会变,再重新计算。保留没有改变的部分作为对照,有助于区分机制变化与偶然数字变化。换到真实游戏时,可以在帮助说明或可重复的小场景中确认对应规则,再用同样的记录方法核对,不要凭单次表现认定机制。