P2550 集合解法(python)

· · 个人记录

没看到py的, 发个py的题解. 利用集合的差(difference)来做, 非常迅速.

n = int(input())
jiang = set(map(int, input().split()))
ls = []
for _ in range(n):
    ls.append(set(map(int, input().split())))

ming = [0] * 7
for i in ls:
    l = len(i.difference(jiang))    # 统计出集合i和jiang的差异数量
    if l != 7:
        ming[l] += 1    # 差0个就是特等奖, 差7个没中奖特判

print(*ming)