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



全部评论

相关推荐

notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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