1813. 方块游戏

摘要
Title: 1813. 方块游戏
Tag: 模拟
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

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])
使用搜索:谷歌必应百度