1
一间镜子
(此挑战非常相似,但当前的挑战具有更多的复杂性。) 想象一下一个二维房间,墙壁上镀有平面镜。 突然,一束光束射入房间,那里缺少一堵墙!光束在房间周围跳舞,被壁镜反射,最终再次离开房间。 逻辑 您将得到5个变量:W,H,X,Y和Z ^。 现在,它们是什么意思? W,H是房间(包括墙壁)的大小,W是宽度,H是高度。 X,Y是壁上有孔的坐标。您可以假定它始终位于墙地砖上。坐标从0开始,X轴指向右,Y轴指向下。 Z是单个字符,代表\或 光线进入房间的方向/。 这个房间必须由以下字符组成: | 用于水平墙 - 用于垂直墙 + 对于角落 示例:(W = 7,H = 4) +-----+ | | | | +-----+ 现在我们有了一个房间,让我们摧毁其中一个墙砖,这样一束光束就会落入房间。光束是对角线,由\和/字符表示。 让我们用\光束替换X = 2,Y = 0处的墙砖。 +-\---+ | | | | +-----+ 入射光沿对角线穿过整个房间,直到碰到镜墙。如果碰到墙壁,方向将沿着墙壁的轴反转,并且光束继续前进。 +-\---+ |\ \/\| | \/\/| +-----+ 在此示例中,光束到达撞击墙角的位置,这会导致光束完全反转并一直向后传播,最终离开房间。 你的任务 …