灿砸


私信TA

用户名:xiboliyalang

访问量:1057

签 名:

等  级
排  名 4692
经  验 1646
参赛次数 0
文章发表 10
年  龄 23
在职情况 学生
学  校 东北师范大学
专  业 软件工程

  自我简介:

TA的其他文章

解题思路:
使用python自带库,collections中的deque,队列实现

retate(n)是将队列中的所有元素向右移动n位,如果是负数,则向左移动

例如:dq = [1, 2, 3, 4, 5]

数到3,应该3先出队列,总体向左移动m - 1(也就是2位)。

dq(new) = [3, 4, 5, 1, 2],出队列后是[4, 5, 1, 2]

如此开始循环

注意事项:
from collections import deque
参考代码:

from collections import deque

n, m = map(int,input().split())
dq = deque()
for i in range(1, n+1): dq.append(i)
while dq:
    
    dq.rotate(-(m-1))
    print(dq.popleft(), end=' ')


 

0.0分

0 人评分

  评论区

  • «
  • »