题解 | #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)

全部评论

相关推荐

投递网易等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务