上海市西藏中路200号2楼 13338731381 ladbrokes@j909.vip

资讯中心

镜面光路怎样判断已经绕成循环:五格镜阵的方向状态追踪(实例13)

2026-11-05

镜面迷宫里的光束可能离开地图,也可能在几面镜子之间不断绕圈。只记住经过哪个格子还不够,同一格从不同方向进入,后续路线可以不同。

先确定规则与输入

地图五乘五,只含空格、斜杠镜面和反斜杠镜面。状态为横坐标、纵坐标、入射方向;先在当前格反射,再沿新方向走一格。方向零右、一向下、二左、三向上,地图外立即结束。斜杠镜把右入射变成向上、向下变成向左、向左变成向下、向上变成向右;反斜杠镜则把向右与向下互换、向左与向上互换。空格不改变方向。请先按这张方向表处理镜面,再移动位置,不能先走到下一格才读取上一格的镜子。

起始状态[2, 0, 3] 字符点表示空格 ../\. /\\/. .\/./ \./\. /....

逐项算出过程

第1次进入格[2, 0],入射方向3,符号/,离开方向0。

第2次进入格[3, 0],入射方向0,符号\,离开方向1。

第3次进入格[3, 1],入射方向1,符号/,离开方向2。

第4次进入格[2, 1],入射方向2,符号\,离开方向3。

共处理4个不同状态,接下来状态[2, 0, 3]。重复了索引0的状态,循环长度4。记录索引从零开始,重复状态不再算作新的处理步骤。循环起点之前的记录属于前缀,循环起点至重复之前的记录构成一整圈;只比较横纵坐标会忽略入射方向,可能把正常交叉经过误认成绕圈。

复核时看什么

把每次进入格子的完整状态记录下来,第一次遇到重复状态即可证明后续会重复,因为同一状态始终只有一个后继。五乘五乘四最多一百种状态,不能把超时等待当成判断循环的方法。

练习时可以先遮住结果,沿用相同输入独立记录中间状态,再逐项比较。发现不同后先定位最早分歧,确认边界包含方式、编号起点、更新顺序以及是否提前取整。最后结果一致也不表示每个中间步骤都正确,因此保留过程记录有助于看清原因。

适用范围

这是不分裂、无能量衰减的格子模型。若有分光镜,要跟踪多束光;若镜子会随回合旋转,还要把回合相位加入状态。这里的循环证明只适用于规则不会随时间改变的情况。