Edit

【pythonでABC166を解説】B - Trick or Treat

問題概要

問題ページ

問題文

ある街に、\(N\) 人のすぬけ君(すぬけ君 \(1\) 、すぬけ君 \(2\) 、 ...、 すぬけ君 \(N\) )が住んでいます。

この街には、 \(K\) 種類のお菓子(お菓子 \(1\) 、 お菓子 \(2\) 、....、お菓子 \(K\) )が売られています。お菓子 \(i\) を持っているのは、すぬけ君 \(A_{i, 1}, A_{i, 2}, \cdots, A_{i, {d_i}}\) の計 \(d_i\) 人です。

高橋君は今からこの街を回り、お菓子を \(1\) つも持っていないすぬけ君にいたずらをします。このとき、何人のすぬけ君がいたずらを受けるでしょうか。

制約

  • 入力は全て整数
  • \(1 \leq N \leq 100\)
  • \(1 \leq K \leq 100\)
  • \(1 \leq d_i \leq N\)
  • \(1 \leq A_{i, 1} < \cdots < A_{i, d_i} \leq N\)

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n, k = list(map(int, input().rstrip('\n').split()))
    ls = [0] * n
    for i in range(k):
        d = int(input().rstrip('\n'))
        a = list(map(int, input().rstrip('\n').split()))
        for v in a:
            ls[v - 1] += 1
    print(ls.count(0))


if __name__ == '__main__':
    solve()

プログラミング

-Edit