您知道那些带有小滚珠轴承的木制玩具,其目标是在迷宫中移动吗?这有点像。给定一个迷宫和一系列动作,确定球在哪里结束。
棋盘垂直固定,旋转棋盘时,球仅靠重力移动。每个“移动”都是一个旋转(以弧度为单位)。
迷宫是简单的同心圆墙,每堵墙正好有一个通向外部走廊的开口,类似于此(假定这些墙是圆形的而不是尖的):

如您所见,球从中间开始,并试图滚出。一旦达到正确的方向,球将立即掉落,即使它在旋转的中间。旋转一圈可能会导致球从多个开口掉落。例如,旋转>= 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。
评分是标准代码高尔夫,最少的字节数获胜。禁止出现标准漏洞。输入一定不能硬编码,而可以从标准输入,参数,控制台等中获取。输出可以是控制台,文件等,只要使其输出可见即可。
1,那么您将只处理较大的孔,而不会在球掉落时将球跳到孔的中心。
