博客
关于我
POJ 2403
阅读量:793 次
发布时间:2023-03-03

本文共 1339 字,大约阅读时间需要 4 分钟。

为了解决这个问题,我们需要实现一个简化的Hay Point系统,这个系统用于根据给定的词典和职位描述来计算每个职位的薪资。每个词在词典中对应一个金额,未在词典中的词则不计入薪资。

方法思路

  • 读取输入数据:首先读取词典中的单词及其对应的金额,然后读取职位描述。
  • 存储词典:将词典中的单词存储在一个字典中,键为单词,值为对应的金额。
  • 处理职位描述:对于每个职位描述,合并所有行成一个连贯的字符串,然后分割成单词。
  • 计算薪资:对于每个单词,检查它是否在词典中,如果在,则加上对应的金额,否则不计入。
  • 输出结果:输出每个职位的总薪资。
  • 解决代码

    import sys
    def main():
    lines = [line.rstrip('\n') for line in sys.stdin]
    ptr = 0
    m, n = map(int, lines[ptr].split())
    ptr += 1
    word_values = {}
    for _ in range(m):
    parts = lines[ptr].split()
    word = ' '.join(parts[:-1])
    value = int(parts[-1])
    word_values[word] = value
    ptr += 1
    for _ in range(n):
    description = []
    while ptr < len(lines):
    line = lines[ptr].strip()
    ptr += 1
    if line == '.':
    break
    description.append(line)
    full_description = ' '.join(description)
    words = full_description.split()
    salary = 0
    for word in words:
    if word in word_values:
    salary += word_values[word]
    print(salary)
    if __name__ == '__main__':
    main()

    代码解释

  • 读取输入数据:使用sys.stdin读取所有输入数据,并将其存储在一个列表中。
  • 处理词典:读取词典中的每个单词及其对应的金额,存储在word_values字典中。
  • 处理每个职位描述:对于每个职位描述,读取直到遇到句号,合并成一个连贯的字符串,然后分割成单词。
  • 计算薪资:遍历每个单词,检查它是否在词典中,如果在,则加上对应的金额,否则不计入。
  • 输出结果:输出每个职位的总薪资。
  • 这个方法确保了我们能够高效地处理输入数据,并正确地计算每个职位的薪资。

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

    你可能感兴趣的文章