题解 | #MP3光标位置#

MP3光标位置

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

while True:
	try:
		n = int(input())
		s = input()
		play_list = [i for i in range(1, n+1)]
		if n <= 4:
			top = 0
			bottom = top + n - 1
			this = top
			for c in s:
				if c == 'U':
					if this > 0:
						this -= 1
					else:
						this = n - 1
				elif c == 'D':
					if this < n - 1:
						this += 1
					else:
						this = 0
			print(' '.join([str(i) for i in play_list]))
			print(play_list[this])
		else:
			top = 0
			bottom = top + 3
			this = top
			shift = 0
			for c in s:
				if c == 'U':
					if shift > 0:
						shift -= 1
						this -= 1
					else:
						if top - 1 >= 0:
							shift = 0
							top -= 1
							bottom = top + 3
							this -= 1
						else:
							bottom = n - 1
							top = bottom - 3
							this = bottom
							shift = 3
				elif c == 'D':
					if shift < 3:
						shift += 1
						this += 1
					else:
						if bottom + 1 < n:
							bottom += 1
							top = bottom - 3
							this += 1
							shift = 3
						else:
							top = 0
							bottom = top + 3
							this = 0
							shift = 0
			print(' '.join([str(i) for i in play_list[top:bottom+1]]))
			print(play_list[this])
	except:
		break
全部评论

相关推荐

07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
07-03 16:02
门头沟学院 Java
点赞 评论 收藏
分享
07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:47
机械打工仔:你自己匿名可以,这么好的公司就别给它匿名了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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