解题思路:
使用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 人评分
数组输出 (C语言代码)错误???浏览:601 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:626 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:562 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1110 |
WU-小九九 (C++代码)浏览:1712 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:798 |
【蟠桃记】 (C语言代码)浏览:1083 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:350 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:654 |