2 条题解

  • 1
    @ 2025-6-6 20:04:34

    暴力即可。

    # 初始化二维数组表示牌的出现情况
    a = [[0 for i in range(14)] for j in range(5)]
    
    # 读取输入的牌数
    n = int(input())
    
    # 处理每张输入的牌
    for i in range(n):
        s = input()
        cnt1 = 0
        cnt2 = 0
        # 解析牌的花色
        if s[0] == 'D':
            cnt1 = 1
        elif s[0] == 'C':
            cnt1 = 2
        elif s[0] == 'H':
            cnt1 = 3
        elif s[0] == 'S':
            cnt1 = 4
        
        # 解析牌面点数
        if s[1] == 'A':
            cnt2 = 1
        elif '2' <= s[1] <= '9':
            cnt2 = int(s[1])
        elif s[1] == 'T':
            cnt2 = 10
        elif s[1] == 'J':
            cnt2 = 11
        elif s[1] == 'Q':
            cnt2 = 12
        elif s[1] == 'K':
            cnt2 = 13
        
        # 标记这张牌已出现
        a[cnt1][cnt2] = 1
        
    # 计算已出现的牌数
    count = 0
    for i in range(1, 5):
        for j in range(1, 14):
            count += a[i][j]
    
    # 输出未出现的牌数
    print(52 - count)
    

    信息

    ID
    985
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    (无)
    递交数
    489
    已通过
    150
    上传者