1813.方块游戏

Powered by:NEFU AB-IN

Link

文章目录

  • 1813.方块游戏
    • 题意
    • 思路
    • 代码

1813.方块游戏

  • 题意

    农夫约翰试图通过给奶牛一套通常用于学龄前儿童的 N 个拼写板来教他的奶牛阅读。
    每个拼写板的每一侧都有一个单词和一个图画。
    例如,一侧可能有单词 cat 和一只小猫,另一侧可能有单词 dog 和一只小狗。
    因此,当所有拼写板放置到地面上时,会显示一组 N 个单词。
    通过翻转其中一部分板子,就可以得到另一组 N 个单词。
    为了帮助奶牛练习单词拼写,约翰想要制作一些木块,在每个木块上都印上一个字母,使得奶牛可以使用这些木块拼出看到的单词。
    为了使得无论哪一组 N 个单词朝上显示,奶牛都能将其全部拼出,就需要印有各种字母的木块都足够的多。
    例如,如果 N=3 且单词 box,cat,car 朝上显示,则奶牛至少需要一个 b 块,一个 o 块,一个 x 块,两个 c 块,两个 a 块,一个 t 块和一个 r 块。
    请帮助约翰确定,印有每种字母的木块至少需要提供多少块,才能使得不管每个板子的哪一侧朝上显示,奶牛都可以拼出所有 N 个可见的单词。

  • 思路

    按题意模拟即可

  • 代码

    defaultdict()括号里必须放类型才能生效

    '''
    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])
    

你可能感兴趣的:(ACM,Acwing,游戏)