酷代码 AI
菜单

题目描述 月光森林即将举办一场盛大的赐福活动,由森林中德高望重的大树爷爷为精灵们赐福。精灵们需要提前排队,等待大树爷爷的到来。 一个精灵只要接受大树爷爷赐福两次即可进化,为了让自己进化,每个精灵到达后都会产生一个分身,让自己和分身一起排队,分别接受大树爷爷的赐福。但为了避免影响到其他精灵接受赐福,每当一个精灵到达后,自己会先排在队伍的最中间,然后分身再排在队伍的最末尾。 例如: 第 1 个精灵“小白”到达后,排队顺序为:['小白', '小白']; 第 2 个精灵“小黑”到达后,排队顺序为:['小白', '小黑', '小白', '小黑']; 第 3 个精灵“小红”到达后,排队顺序为:['小白', '小黑', '小红', '小白', '小黑', '小红'];以此类推。 假设精灵只会一个一个到来,并且排队的队伍可以无限长。请你设计一个程序,根据精灵到来的顺序,输出精灵和分身的排队顺序。 输入 共 n + 1 行 第一行,一个整数 n,表示来排队的精灵数量 接下来 n 行,每行一个字符串,依次代表先后到达的每个精灵的名字 输出 一行,一个列表,代表精灵的排队顺序 (精灵和分

以下是实现该功能的 Python 代码: ```python # 获取精灵的数量 n = int(input()) # 初始化一个空列表来存储排队顺序 queue = [] # 循环处理每个精灵 for _ in range(n): # 获取当前精灵的名字 name = input() # 找到队伍的中间位置 mid = len(queue) // 2 # 在队伍中间插入当前精灵 queue.insert(mid, name) # 在队伍末尾插入当前精灵的分身 queue.append(name) # 输出排队顺序 print(queue) ``` [2025-12-20 20:43:30 | AI问答 | 136点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多