智能算法挑 战复赛初中组
(总共 4 道题)
1. 修复机器人的对话词库错 误
【题目描述】
基于人工智能技术的智能陪伴机器人的语言词库被黑客的病毒感染了,感染方 式是在单词中母
变成了 “heeello” 。空格 字符被替换为长度不固定的数字乱码,请修复它。
【输入格式】
输入一行字符串 (字符串中无空格 ) 。这一行是被感染的字符串 。
【输出格式】
输出一行对应的正确字符串。
【样例输入】 (测试数据不包含本样例 )
Good24565morrrning
【样例输出】
Good morning
答案解析:
def fix_infected_string(s):
fixed_str = ''
prev_char = ''
for char in s:
if char.isdigit() or char.isspace():
在这个示例中,我们定义了一个 fix_infected_string 函数来修复被感染的字符串。函入
检查以下情况:
如果字符是数字或空格,则跳过该字符。
如果字符与前一个字符相同,则跳过该字符。这样可以找出被增加了两次的字母。
否则,将该字符添加到修复后的字符串中,并更新 prev_char 为当前字符。
然后,我们将输入的被感染的字符串传递给 fix_infected_string 函数进行修复,并打
请注意,以上示例代码是使用 Python 编写的。如果您希望在其他编程语言中实现相同的功行
2. 定制架子问题
【题目描述】
李莳花要做一个架子,把她喜欢的摆件叠放起来,她的每个摆件的位置顺序是固 定的。这 个
能超过这个宽度,每层架子的高度不 能低于最高 的摆件的高度。假设,给出排列好的每个摆
要最少多高的架子。
continue
if char == prev_char:
continue
fixed_str += char
prev_char = char
return fixed_str
# 输入被感染的字符串
infected_string = input()
# 修复字符串并输出结果
fixed_string = fix_infected_string(infected_string)
print(fixed_string)
【输入格式】
输入的第一行有 2 个数字,一个是摆件的个数 n,和架子的宽度 W。 以下摆件个数 n 行,每行一
Hi。
【输出格式】
输出放置摆件架子的最低高度。
【样例输入】 (测试数据不包含本样例 )
5 5
2 1
1 2
1 3
2 3
2 2
【样例输出】
5
答案解析:
def minimum_shelf_height (n, W, items):
heights = [0] * (W + 1) # 记录每个宽度上摆放的最大高度
for i in range(1, W + 1):
max_height = 0
for j in range(n):
if items[j][0] <= i:
在这个示例中,我们定义了一个 minimum_sh
2023年信息素养大赛智能算法挑战复赛初中组