1813. 方块游戏
摘要
Title: 1813. 方块游戏
Tag: 模拟
Memory Limit: 64 MB
Time Limit: 1000 ms
Powered by:NEFU AB-IN
1813. 方块游戏
-
题意
农夫约翰试图通过给奶牛一套通常用于学龄前儿童的 N 个拼写板来教他的奶牛阅读。
每个拼写板的每一侧都有一个单词和一个图画。
例如,一侧可能有单词 cat 和一只小猫,另一侧可能有单词 dog 和一只小狗。
因此,当所有拼写板放置到地面上时,会显示一组 N 个单词。
通过翻转其中一部分板子,就可以得到另一组 N 个单词。
为了帮助奶牛练习单词拼写,约翰想要制作一些木块,在每个木块上都印上一个字母,使得奶牛可以使用这些木块拼出看到的单词。
为了使得无论哪一组 N 个单词朝上显示,奶牛都能将其全部拼出,就需要印有各种字母的木块都足够的多。
例如,如果 N=3 且单词 box,cat,car 朝上显示,则奶牛至少需要一个 b 块,一个 o 块,一个 x 块,两个 c 块,两个 a 块,一个 t 块和一个 r 块。
请帮助约翰确定,印有每种字母的木块至少需要提供多少块,才能使得不管每个板子的哪一侧朝上显示,奶牛都可以拼出所有 N 个可见的单词。 -
思路
按题意模拟即可
-
代码
defaultdict()括号里必须放类型才能生效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25'''
Author: NEFU AB-IN
Date: 2022-01-27 22:50:49
FilePath: \ACM\Acwing\1813.py
LastEditTime: 2022-01-27 23:35:41
'''
from collections import Counter
from string import ascii_lowercase
res = Counter()
if __name__ == "__main__":
n = int(input())
for i in range(n):
x, y = input().split()
A = Counter()
B = Counter()
for j in x:
A[j] += 1
for j in y:
B[j] += 1
for i in ascii_lowercase:
res[i] += max(A[i], B[i])
for i in ascii_lowercase:
print(res[i])