本文共 1522 字,大约阅读时间需要 5 分钟。
在魔法学校的学习中,哈利波特需要掌握各种魔咒来对抗敌人。在这个问题中,我们需要编写一个程序来存储与功能相关的魔咒词典,并能够快速查询。
import sysfrom collections import defaultdictdef main(): # 读取词典,构建两个字典 magic_dict = {} # magic -> functionality functionality_dict = {} # functionality -> magic for line in sys.stdin: line = line.strip() if line == '@END@': break # 处理每一行,假设格式为“[magic]对应功能” # 注意,在样例中,每行的格式可能有空格,如“[expelliarmus] the disarming charm” # 因此,需要提取前部分到magic,后部分到function # 这里可能有多个空格,split()会自动分隔 # 否则,可能会出现前缀或后缀的空格问题 parts = line.split() if len(parts) < 2: # 假设有些行可能不完整,但根据题目,格式正确,这里应该不会出现 continue magic = parts[0][1:-1] # 去掉[]号,获取魔咒名称 function = ' '.join(parts[1:]) # 处理对应功能部分 magic_dict[magic] = function functionality_dict[function] = magic # 读取N和接下来的测试用例 n = int(sys.stdin.readline()) for _ in range(n): query = sys.stdin.readline().strip() # 处理两种情况:要么是魔咒,要么是功能 if query in magic_dict: print(magic_dict[query]) elif query in functionality_dict: print(functionality_dict[query]) else: print("what?")if __name__ == "__main__": main()
这个程序能够高效地处理输入数据,并根据需要查询词典中的信息,确保在关键时刻快速响应。
转载地址:http://psfmz.baihongyu.com/