2
圆迷宫检查器
您知道那些带有小滚珠轴承的木制玩具,其目标是在迷宫中移动吗?这有点像。给定一个迷宫和一系列动作,确定球在哪里结束。 棋盘垂直固定,旋转棋盘时,球仅靠重力移动。每个“移动”都是一个旋转(以弧度为单位)。 迷宫是简单的同心圆墙,每堵墙正好有一个通向外部走廊的开口,类似于此(假定这些墙是圆形的而不是尖的): 如您所见,球从中间开始,并试图滚出。一旦达到正确的方向,球将立即掉落,即使它在旋转的中间。旋转一圈可能会导致球从多个开口掉落。例如,旋转>= n * 2 * pi足以逃脱任何迷宫。 出于游戏目的,位于0.001开口弧度内的球被认为是“合适的”球,并将掉落至下一个走廊。 输入: 输入分为两部分: 迷宫由整数n表示,该整数表示迷宫中有多少个墙/洞。接下来是几n行,每行一个数字,代表通向下一个走廊的位置。 给出的移动次数是一个整数,m表示已执行了多少移动次数,接着(再次在单独的行上)是以弧度为单位的板的m顺时针旋转(负数是逆时针)。 所有通过位置均以给出0 rad = up,正弧度顺时针旋转。 对于上面的示例图像,输入可能如下所示: 7 // 7 openings 0 0.785398163 3.14159265 1.74532925 4.71238898 4.01425728 0 3 // 3 moves -3.92699082 3.14159265 0.81245687 输出: 输出球在其中结束的走廊编号。走廊从中心开始为零索引,因此您从开始0。如果您通过一个开口,那么您就在走廊上1。如果您逃脱了整个迷宫,则输出任何整数>= n 对于样本输入,有三个动作。第一将导致球从两个开口掉落。第二个没有找到一个开口,第三认定一个。球现在在走廊中3,因此预期输出为: 3 对于无效输入,行为未定义。有效输入的格式正确,带有n >= 1和m >= 0。 评分是标准代码高尔夫,最少的字节数获胜。禁止出现标准漏洞。输入一定不能硬编码,而可以从标准输入,参数,控制台等中获取。输出可以是控制台,文件等,只要使其输出可见即可。
12
code-golf