本文共 2068 字,大约阅读时间需要 6 分钟。
为了解决法官伊藤的问题,我们需要编写一个程序来识别包含关键词的借口,并找出最糟糕的借口。以下是详细的解决方案:
方法思路
读取输入数据:首先读取每个数据集的关键词和借口。每个数据集的第一行给出关键词数量K和借口数量E。 存储关键词:将关键词存储到一个集合中,以便快速查找。 处理借口:对于每个借口,检查它是否包含任何关键词。关键词是连续且被非字母或空格分隔开的。 计算关键词出现次数:对于每个借口,计算其中关键词的总出现次数。 找出最糟糕的借口:比较所有借口的关键词出现次数,找出最多的。若有多个,输出所有。 输出结果:输出每个数据集的结果,包括编号和最糟糕的借口。 解决代码
#include #include #include
代码解释
读取输入: 使用scanf
函数读取输入数据,首先读取K和E,然后读取K个关键词和E个借口。 存储关键词: 将关键词存储在map
中,确保快速查找。 处理借口: 将每个借口转换为小写,检查其中是否包含任何关键词。遍历所有可能的子字符串长度,检查是否存在于关键词集合中。 计算出现次数: 对于每个借口,计算关键词出现的总次数。 找出最糟糕的借口: 比较所有借口的出现次数,找出最多的,并收集所有具有相同最大次数的借口。 输出结果: 输出每个数据集的结果,包括编号和最糟糕的借口,每个借口占一行,最后用空行分隔。 转载地址:http://aihjz.baihongyu.com/