博客
关于我
hdu1880——哈希+恶心输入输出
阅读量:646 次
发布时间:2019-03-15

本文共 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()

    解释

  • 读取词典部分:程序读取每一行,分割处理后提取魔咒名称和对应的功能,更新双向字典。
  • 处理测试用例:对于每个查询项,检查是否存在于魔法咒字典或功能字典中,分别输出结果。
  • 去除空格和错误处理:在处理单词时,使用strip()去除前后空格,确保正确匹配。
  • 这个程序能够高效地处理输入数据,并根据需要查询词典中的信息,确保在关键时刻快速响应。

    转载地址:http://psfmz.baihongyu.com/

    你可能感兴趣的文章
    面试题 08.01. 三步问题
    查看>>
    剑指 Offer 11. 旋转数组的最小数字
    查看>>
    word文档注入(追踪word文档)未完
    查看>>
    作为我的第一篇csdn博客吧
    查看>>
    java中简单实现栈
    查看>>
    ajax异步提交失败
    查看>>
    打开cmd,输入java,java -version没有问题,但是javac提示不是内部命令?
    查看>>
    一道简单的访问越界、栈溢出pwn解题记录
    查看>>
    ubuntu18.04.4版本安装docker教程
    查看>>
    Stream 某些API
    查看>>
    关于项目中 对Java 的为空判断整理
    查看>>
    测试调用另一台电脑ip是否有用
    查看>>
    mos-excel集成文档
    查看>>
    Tomcat执行流程!
    查看>>
    chat 快问!
    查看>>
    3.jdk的环境配置
    查看>>
    2.连接池
    查看>>
    1.Html
    查看>>
    2.Html与CSS
    查看>>
    3&4.javascript
    查看>>