掷骰子
因此,前一段时间我在掷骰子,想到了一个挑战。
给定具有从输入中取出的网和移动列表的多维数据集,请在末尾的底部找到正方形。
我将在此处的示例中使用此图像。
输入值
您输入一个带有动作列表的字符串。该字符串仅包含大写ASCII字母N,S,W和E。这对应于将多维数据集向该方向滚动一步。
在图片中,一个N将使底面变成6。在此图片中,North远离相机,South朝向相机,East右侧,West左侧。
您还可以采用以下格式的字符串:1P 2P 3P 4P 5P 6P,其中每个P是N,S,W,E,T和B中的一个位置。T&B是底部和顶部。
数字是带有该数字的面部,字母代表面部所在的位置。如果不清楚,网将始终按该编号排序,因此1P 2P 3P 4P 5P 6P,而不是2B 1T 3N 4S 5W 6E。
图像中的位置是1S 2B 3E 4W 5T 6N。
输出量
您的程序应输出一个代表底部的数字。
测试用例
(nothing), 1S 2B 3E 4W 5T 6N -> 2
N, 1S 2B 3E 4W 5T 6N -> 6
NS, 1S 2B 3E 4W 5T 6N -> 2
NWS, 1S 2B 3E 4W 5T 6N -> 2
NWSNWS, 1S 2B 3E 4W 5T 6N -> 2
NWSS, 1S 2B 3E 4W 5T 6N -> 3
NNNNNN, 1S 2B 3E 4W 5T 6N -> 5
SNWEEWS, 1N 2T 3E 4W 5B 6S, 6
SNEEWS, 1N 2T 3W 4S 5B 6E, 4
其他规定
您可能还假设立方体处于无限平坦的平面上,可能存在某种摩擦。
即使我找不到任何漏洞,也不允许出现标准漏洞。
对于无效的输入,您的代码可以执行任何操作,但不能启动启示录。
由于此程序应适合我的骰子,因此应尽可能小。我以字节为单位,但Folders等语言除外。
(nothing) -> 2
意味着没有提供网,还是某个地方应该有网?