题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
num = int(input().strip())
str1 = input().strip()
# re = str1.count("U") - str1.count("D")
relistamp = [1]*num
for i in range(1,num+1):
relistamp[i-1] = i
class windows:
def __init__(self,listall):
self.index1 = 0
self.index2 = self.index1+4
self.listall = listall
list1 = self.listall[self.index1:self.index2]
def change1(self,a):
self.index1 = a
self.index2 = a+4
self.list1 = self.listall[self.index1:self.index2]
def change2(self,a):
self.index2 = a
self.index1 = self.index2-4
self.list1 = self.listall[self.index1:self.index2]
def relist(self,a,b):
self.index1 = a
self.index2 = b
self.list1 = self.listall[self.index1:self.index2]
def dayin(self):
for i in self.list1:
print(i,end=" ")
print()
list1 = windows(relistamp)
index1 = 0
for i in str1:
if i == 'U':
index1 -=1
elif i == 'D':
index1 +=1
if index1 == -1:
index1 = num-1
list1.relist(num-4,num)
elif index1 == num:
index1 = 0
list1.relist(0,4)
if index1 < list1.index1:
list1.change1(index1)
elif index1 > list1.index2-1:
list1.change2(index1+1)
list1.dayin()
print(relistamp[index1])
