题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
重点在于不仅要更改光标位置pos,还要记录当前屏幕顶部歌曲序号top,把U
和 D的操作封装成函数,更改光标位置和顶部歌曲序号,然后返回新的
pos 和top,按向上键top与pos相同的时候需要改变(特殊情况:pos==1),
按向下键pos等于pos+3或者pos等于n的时候需要改变(n不一定是4
的整数倍),细节方面,歌曲数量小于等于3首的话不需要改变top
def U(pos,top): if n>=4: if top == pos: top = n-3 if pos==1 else top-1 return (n if pos==1 else pos-1,top) def D(pos,top): if n>=4: if pos==n: top = 1 elif pos == top+3: top += 1 return (1 if pos==n else pos+1,top) n = int(input()) orders = input() pos = 1 top = 1 for o in orders: if o == 'U': pos,top = U(pos,top) else: pos,top = D(pos,top) print(' '.join(list(map(str,list(range(top,n+1 if n<4 else top+4)))))) print(pos)