公司新闻

游戏规则研习:双开关同时有效的时间段(案例01)

2026-10-23

两只开关分别点亮一段时间时,门真正可用的是两段有效时间的交集。每只开关都曾经亮过,并不能保证它们有同时亮着的时刻。

下面给出一组可以从头复算的练习数据。先按约定记录每一步,再比较最后的核对条件;遇到差异时,不急着修改答案,而是先找出从哪一步开始不同。本例描述的是明确限定的游戏规则模型,不代替某款作品自己的说明。

约定与输入

每组数据独立,开关只触发一次,不会自动延长。开始时刻包含,结束时刻不包含;一只恰好熄灭时另一只才亮起,公共持续时间为零。

共同开始取较晚的起点,共同结束取较早的终点;两者之差为负时按零处理。

每组依次为甲起点、甲时长、乙起点、乙时长 [[4, 9, 4, 10], [10, 10, 2, 3], [6, 2, 2, 6], [18, 8, 18, 7], [9, 9, 13, 2], [4, 7, 5, 10], [13, 7, 20, 3], [2, 7, 8, 6], [19, 10, 6, 9]]

逐步观察

甲[4,13),乙[4,14):公共起点候选4,结束候选13,实际共同有效9秒。公共窗口存在。

甲[10,20),乙[2,5):公共起点候选10,结束候选5,实际共同有效0秒。没有共同窗口。

甲[6,8),乙[2,8):公共起点候选6,结束候选8,实际共同有效2秒。公共窗口存在。

甲[18,26),乙[18,25):公共起点候选18,结束候选25,实际共同有效7秒。公共窗口存在。

甲[9,18),乙[13,15):公共起点候选13,结束候选15,实际共同有效2秒。公共窗口存在。

甲[4,11),乙[5,15):公共起点候选5,结束候选11,实际共同有效6秒。公共窗口存在。

甲[13,20),乙[20,23):公共起点候选20,结束候选20,实际共同有效0秒。没有共同窗口。

甲[2,9),乙[8,14):公共起点候选8,结束候选9,实际共同有效1秒。公共窗口存在。

甲[19,29),乙[6,15):公共起点候选19,结束候选15,实际共同有效0秒。没有共同窗口。

各组共同有效时长[9, 0, 2, 7, 2, 6, 0, 1, 0]。

复核办法

可把每个整数时刻是否处于两段区间分别标出来,再数两者都有效的单位时间。两个区间只接触端点时,不能凭端点相同就多算出一秒。

实际解谜还可能要求保持门开启直到角色离开。应先得到共同窗口,再把角色的操作或移动时长与窗口比较,不能只看到有一瞬间重合就认定足够通过。

把边界、顺序与适用范围写进记录,比只记一个最后数字更有用。可以另外构造刚好在边界、完全没有变化和多个条件同时成立的情况,查看规则是否仍自洽;若要改变设定,保留原案例作为对照,再重新计算受影响的部分。