如果已知等级的饮料,直接输出等级,对于一个新饮料的名字,你需要将名字拆成两个已知等级的部分,然后输出这个级别。例如:如果是已知等级的饮料。直接输出等级;对于一个新饮料的名字, Diet 是A.Coke是D,那么DietCoke就是AD:如果新饮料无法拆解
或者有多种拆解方法,统一定为D级。输入格式:
输入第一行是两个正整数N,M(1≤N,M≤100),表示已知的饮料有种,需要定级的饮料有M种。接下来首先是N行,每行是一个字符串和一个字符,表示一种饮料的名字和对应的等级,等级只有 A,B,C,D 四种。然后是M行,每行是一个字符串,表示需要定级的饮料的名字。所有饮料名字只包含有大小写字母,长度不超过30,给定拥有等级的饮料的名字不会重复。输出格式:
对于每一个需要定级的饮料,输出定好的定级。输入样例:56
Diet A
LowSugarTea B
Milk C
Coke D
Water A
DietCoke
Pepsi
Milk
CokeWater
GoodMilk
dietCoke
输出样例:
AD
D
C
DA
D
D
对于每一个需要定级的饮料,输出定好的定级。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
GISer Liu 2024-04-30 10:04关注该回答引用自GPT-3.5,由博主GISer Liu编写:
首先,我们需要分析这个问题。题目要求根据已知等级的饮料名字将需要定级的饮料名字拆分成两个已知等级的部分,然后输出这个级别。如果无法拆解或者有多种拆解方法,统一定为D级。
解决这个问题的思路是:- 创建一个字典,用于存储已知等级的饮料名字及其对应的等级。
- 对于需要定级的每个饮料名字,尝试将其拆分成两个部分,并在字典中查找对应的等级。
- 如果拆分后的两部分都在字典中找到了对应等级,则将这两个等级连接起来作为输出;如果找不到或者有多种拆解方法,则输出D级。
接下来,我将编写一个Python函数来解决这个问题。
python
Copy code
这段代码首先读取输入,然后调用def grade_drinks(N, M, known_drinks, to_be_graded): # 创建字典存储已知等级的饮料名字及其对应的等级 drink_dict = {} for drink, grade in known_drinks: drink_dict[drink] = grade # 定义一个函数用于拆解饮料名字并查找对应等级 def find_grade(drink_name): for i in range(1, len(drink_name)): prefix = drink_name[:i] suffix = drink_name[i:] if prefix in drink_dict and suffix in drink_dict: return drink_dict[prefix] + drink_dict[suffix] return 'D' # 对需要定级的每个饮料名字进行处理 result = '' for drink_name in to_be_graded: result += find_grade(drink_name) return result # 读取输入 N, M = map(int, input().split()) known_drinks = [input().split() for _ in range(N)] to_be_graded = [input().strip() for _ in range(M)] # 输出结果 print(grade_drinks(N, M, known_drinks, to_be_graded))grade_drinks函数来解决问题,并输出结果。
请试试看这个解决方案是否符合你的需求。
如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报