题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
n = int(input())
m = input()
if n < 4:
a = 1 # 记录显示器顶部歌曲编号
b = 1 # 记录光标所处位置
c = n # 记录显示器底部歌曲编号
for i in m:
if i == "D": # 正常光标向下
b += 1
if i == "U": # 正常光标向上
b -= 1
if b > c:
b = a
if b < a:
b = c
if n >= 4:
a = 1 # 记录显示器顶部歌曲编号
b = 1 # 记录光标所处位置
c = 4 # 记录显示器底部歌曲编号
for i in m: # 这是当n>=4的情况
if a == 1 and b == 1 and i == "U": # 特殊翻页第一种
a = n - 3
b = n
c = n
elif b == n and c == n and i == "D": # 特殊翻页第二种
a = 1
b = 1
c = 4
elif i == "D": # 正常光标向下
b += 1
elif i == "U": # 正常光标向上
b -= 1
if b > c: # 更新显示器的尾部
c = b
a = c - 3
if a > b: # 更新显示器的头部
a = b
c = a + 3
for i in range(a, c + 1): # 按照固定格式输出
print(i, end=" ")
print("\n", end="")
print(b)
查看14道真题和解析