题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
n = int(input()) # 歌曲总数,10
c = input() # UUUU
song = []
for i in range(1, n + 1):
song.append(i)
p = 1 # 光标的位置,p=[1,2,3,4],起始是第一首歌的位置
f = 1 # 表示当前页,第一首歌的位置
if n <= 4: # 歌曲总数小于等于4,不需要翻页(f不动),只是挪动光标位置(改变p的值)。
for i in c:
if i == "U":
if p == 1: # 特殊移动光标p
p = n
else: # 一般移动光标p
p = p - 1
if i == "D":
if p == n: # 特殊移动光标p
p = 1
else: # 一般移动光标p
p = p + 1
else:
for i in c:
if i == "U":
if f == 1 and p == 1: # 特殊上翻
f = n - 3
p = 4
elif p == 1: # 一般上翻
f = f - 1
else:
p = p - 1
if i == "D":
if f == n - 3 and p == 4: # 特殊下翻
f = 1
p = 1
elif p == 4: # 一般下翻
f = f + 1
else:
p = p + 1
#print(f, p)
print(*song[f - 1 : f - 1 + 4])
print(f - 1 + p)

查看12道真题和解析