题解 | #迷路的牛牛#
迷路的牛牛
https://www.nowcoder.com/practice/b53be4129b664128b23afc46412593d4
num = int(input( )) # direc = [input( ) for i in range(num)] direc = input( ) current = 'N' for i in direc: d = {'N': 0, 'W': 1, 'S': 2, 'E': 3} #按逆时针的顺序定义旋转 m = [['W','E'], ['S','N'], ['E','W'], ['N','S']] #这个列表的定义是针对于每个方位上的旋转到的方向 j = d[current] if i == 'L': a = 0 elif i == 'R': a = 1 current = m[j][a] print(current) 这里提供一种简单解法:该种解法的重点在当前方位的确定,以及下一转向后的方位的确定 当前的方位朝向由两个因素确定:转向之前朝向的方位和转向的方向,所以我们可以用一个双坐标索引的方法来定义当前的方位转向 m[j][a]:其中j索引的是转向之前的方位朝向,a索引的是向哪边转 a == 0或1 j:有四种情况,为了将方向对应到数组下标,我们用键值对定义 如d a:转向 对于每一个方向上的转动,有两种情况,以 0 1定义 m:每个元素对应给出了旋转对应的方位