ABC118 B - Foods Loved by Everyone
備忘録
問題
回答
import sys import os def main(): if os.getenv("LOCAL"): sys.stdin = open("input.txt", "r") N, M = list(map(int, sys.stdin.readline().split())) FOODS = set(range(1, M + 1)) for n in range(N): K, *A = list(map(int, sys.stdin.readline().split())) FOODS &= set(A) print(len(FOODS)) if __name__ == '__main__': main()
考え方
初めに食べ物の配列(FOODS
)を作り、
N
人の人が答えた回答(A
)と共通する要素のみを残す。
複数の配列から共通の要素のみを残すのは理論和(&
)を使用することで簡単にできる。
参考:Pythonで複数のリストに共通する・しない要素とその個数を取得 | note.nkmk.me
最後に残った要素の数を出力するだけ。