刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
简答题
2.为 i 做 e
“为 i 做 e”是最近新出的流行梗。这里的 i 和 e 指 MBTI 人格测试中的不同性格,i 是社恐,e 是外向。“为 i 做 e”就是在一群内向的人中促使自己变成外向(奇奇怪怪无用的知识又增加了)。
给定某次大型活动中的餐桌安排,请你判断一下哪几桌的客人需要“为 i 做 e”了。
时间限制:6000
内存限制:65536
输入
输入第一行首先给出正整数 n(≤ 105),随后 n 行,每行给出一个人的代号和其性格,其中代号由 8 位数字组成,性格是单个字母 i 或 e,其间以空格分隔。 接下来是餐桌安排。首先给出正整数 m(≤ 103),为餐桌数量,随后 m 行,每行给出一个正整数 k(≤ 10)以及该桌 k 位客人的代号,用空格分隔。第 i 行对应的是第 i 桌的信息(1 ≤ i ≤ m)。题目保证没有人在餐桌安排中重复出现,且餐桌上每个人的性格都已给出。
输出
如果一桌客人全是 i 人,则意味着有人要“为 i 做 e”了。请在一行中按递增序输出这些桌的桌号。数字间以 1 个空格分隔,行首尾不得有多余空格。如果这样的餐桌不存在,则在一行中输出 None。
样例输入
样例1:
10
00000000 i
12345678 e
23468270 i
78827341 e
67476289 i
35748108 e
99999999 i
40926483 i
88472901 i
55032849 i
3
3 00000000 67476289 99999999
4 12345678 78827341 35748108 55032849
3 23468270 40926483 88472901
样例2:
10
00000000 i
12345678 e
23468270 i
78827341 e
67476289 i
35748108 e
99999999 i
40926483 i
88472901 i
55032849 i
2
4 78827341 35748108 55032849 00000000
6 12345678 67476289 99999999 23468270 40926483 88472901
样例输出
样例1:
1 3
样例2:
None
“为 i 做 e”是最近新出的流行梗。这里的 i 和 e 指 MBTI 人格测试中的不同性格,i 是社恐,e 是外向。“为 i 做 e”就是在一群内向的人中促使自己变成外向(奇奇怪怪无用的知识又增加了)。
给定某次大型活动中的餐桌安排,请你判断一下哪几桌的客人需要“为 i 做 e”了。
时间限制:6000
内存限制:65536
输入
输入第一行首先给出正整数 n(≤ 105),随后 n 行,每行给出一个人的代号和其性格,其中代号由 8 位数字组成,性格是单个字母 i 或 e,其间以空格分隔。 接下来是餐桌安排。首先给出正整数 m(≤ 103),为餐桌数量,随后 m 行,每行给出一个正整数 k(≤ 10)以及该桌 k 位客人的代号,用空格分隔。第 i 行对应的是第 i 桌的信息(1 ≤ i ≤ m)。题目保证没有人在餐桌安排中重复出现,且餐桌上每个人的性格都已给出。
输出
如果一桌客人全是 i 人,则意味着有人要“为 i 做 e”了。请在一行中按递增序输出这些桌的桌号。数字间以 1 个空格分隔,行首尾不得有多余空格。如果这样的餐桌不存在,则在一行中输出 None。
样例输入
样例1:
10
00000000 i
12345678 e
23468270 i
78827341 e
67476289 i
35748108 e
99999999 i
40926483 i
88472901 i
55032849 i
3
3 00000000 67476289 99999999
4 12345678 78827341 35748108 55032849
3 23468270 40926483 88472901
样例2:
10
00000000 i
12345678 e
23468270 i
78827341 e
67476289 i
35748108 e
99999999 i
40926483 i
88472901 i
55032849 i
2
4 78827341 35748108 55032849 00000000
6 12345678 67476289 99999999 23468270 40926483 88472901
样例输出
样例1:
1 3
样例2:
None
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
根据题目描述,我们需要判断哪些餐桌的客人全是内向的人(即全是性格为 i 的客人),然后输出这些餐桌的桌号。如果这样的餐桌不存在,则输出 None。
具体实现时,我们可以使用Python编程语言。首先读取输入,包括总人数 n、每个人的代号和性格,以及餐桌的安排。然后遍历每桌客人,对于每桌,统计性格为 i 的客人的数量。如果某桌全是内向的人,即性格为 i 的客人数量等于该桌的人数,将桌号添加到结果集合中。最后,将结果集合中的桌号按递增序输出。
以下是Python代码实现:
def find_tables_needing_adjustment():
n = int(input()) # 读取总人数
people = [] # 存储每个人的代号和性格
for _ in range(n):
code, personality = input().split() # 读取每个人的代号和性格
people.append((code, personality)) # 存储为元组
m = int(input()) # 读取餐桌数量
tables = [] # 存储餐桌信息
for _ in range(m):
k = int(input()) # 读取每桌的人数
codes = input().split() # 读取每桌客人的代号
table = (k, codes) # 存储为元组,包含人数和代号列表
tables.append(table) # 将餐桌信息添加到列表中
tables_needing_adjustment = set() # 存储需要"为 i 做 e"的餐桌号
for table in tables:
all_introverts = True # 假设桌上都是内向的人
for code in table[1]: # 遍历桌上的每个客人的代号
if code not in people or people[code][1] != 'i': # 如果客人不是内向的或不存在于输入中
all_introverts = False # 说明桌上不是全是内向的人
break # 退出循环检查下一桌
if all_introverts: # 如果桌上全是内向的人
tables_needing_adjustment.add(table[0]) # 将桌号添加到需要调整的餐桌集合中
if tables_needing_adjustment: # 如果存在需要调整的餐桌
print(*sorted(tables_needing_adjustment)) # 输出按递增序的桌号,数字间以空格分隔
else: # 如果不存在这样的餐桌
print("None") # 输出 None
创作类型:
原创
本文链接:2.为 i 做 e“为 i 做 e”是最近新出的流行梗。这里的 i 和 e 指 MBTI 人格测试中
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



