设置一个vip隐私,夹杂一些碎碎念......涉及到一些转自其他佬的题解
🚩flag为留存,等技术强硬再钻一把......
?30.约瑟夫环
def choiceNum(maxNum, stepNum):
data = []
delData= []
num = 0
for i in range(1, maxNum + 1):
data.append(i)
while len(data) > 1:
num += 1
temp = data.pop(0)
if num == stepNum:
delData.append(temp)
num = 0
else:
data.append(temp)
return {
'lastData': data[0],
'delData': delData
}
result = choiceNum(12, 4)
print('最后剩下的是第', result['lastData'], '人')
print('淘汰顺序', result['delData'])
but运行超时
import os
import sys
# 请在此输入您的代码
n,k=map(int,input().split())
num=0
for i in range(n-1):
num=(num+k)%(i+2)
print(num+1)
此方法解不清,先用queue也会运行超时,先留个flag吧
2024.3.8
31.机器翻译
0机器翻译 - 蓝桥云课 (lanqiao.cn)100%花了两小时写出来的
用来deque模块Python collections模块之deque()详解_python collections.deque-CSDN博客
32.餐厅排队
map长度计算要转换为list或其他
deque输出样例
import os
import sys
from collections import deque
# 请在此输入您的代码
n=int(input())#执行次数
q=deque()
for i in range(n):#开始执行
a=list(map(int,input().split(" ")))#具体行动
if a[0]==1:#加入学生
q.append(a[1])#加到队尾
elif a[0]==2:#最前面的离开队伍
q.popleft()#离开
else:#输出最前面和最后面编号
print(f"{q[0]} {q[-1]}")