题解 | #MP3光标位置#

MP3光标位置

https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15

class MP3():
    def __init__(self, n, move_list):
        super(MP3, self).__init__()
        self.cur = 0
        self.page = []
        self.n = n
        self.move_list = move_list
        if n<=4:
            self.page = [0]*n
            for i in range(n):
                self.page[i] = i+1
        else:
            self.page = [1, 2, 3, 4]
    
    def move(self, s):
        if self.n<4:
            if s == 'U':
                self.cur = (self.cur+self.n-1)%self.n
            else:
                self.cur = (self.cur+self.n+1)%self.n
        else:
            if s == 'U':
                if self.cur > 0:
                    self.cur -= 1
                else:
                    if self.page[self.cur] > 1:
                        for i in range(4):
                            self.page[i] -= 1
                    else:
                        self.cur = (self.cur+4-1)%4
                        for i in range(4):
                            self.page[i] = self.n+i-3
            else:
                if self.cur < 3:
                    self.cur += 1
                else:
                    if self.page[self.cur] < self.n:
                        for i in range(4):
                            self.page[i] += 1
                    else:
                        self.cur = (self.cur+4+1)%4
                        for i in range(4):
                            self.page[i] = i+1

    def show(self):
        for i in self.move_list:
            self.move(i)
        print(' '.join(str(i) for i in self.page))
        print(self.page[self.cur])

n = int(input())
move_list = list(input())
mp3 = MP3(n, move_list)
mp3.show()

全部评论

相关推荐

后端转测开第一人:双非本 没大厂实习 后端肯定没机会了 直接转测开吧
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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