题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
import sys #光标移动函数 def move1(i:int,s): if s == 'U': return int(i-1) elif s == 'D': return int(i+1) #输入 n , m = int(input()) , input() #初始化 zuobiao = 1 #光标 ans = {1,} #用集合表示列表,方便判断光标是否在;列表中 for i in range(2,n+1): if i > 4: break else: ans.add(i) #读取命令 for i in m: zuobiao = move1(zuobiao,i) #移动光标 #判断光标情况 if zuobiao < 1 : zuobiao = n elif zuobiao > n: zuobiao = 1 #判断光标是否在列表里 if zuobiao not in ans: if zuobiao == 1: ans = {1,2,3,4} elif zuobiao == n: ans = {n-3,n-2,n-1,n} elif i == 'U': ans = {zuobiao,zuobiao+1,zuobiao+2,zuobiao+3} elif i == 'D': ans = {zuobiao-3,zuobiao-2,zuobiao-1,zuobiao} #输出列表和光标 ans = sorted(list(ans)) print(' '.join(map(str,ans))) print(zuobiao)