컴공생의 다이어리

[파이썬, Python] 백준 1043번 : 거짓말 본문

Development/Algorithm & Coding Test

[파이썬, Python] 백준 1043번 : 거짓말

컴공 K 2022. 8. 24. 00:01

백준 1043번 : 거짓말

(문제 바로가기)

 

 

내 코드

import sys

input = sys.stdin.readline
n, m = map(int, input().split())  # n : 사람의 수, m : 파티의 수
know_truth = set(map(int, input().split()[1:]))  # 이야기의 진실을 아는 사람의 번호
party = [set(map(int, input().split()[1:])) for _ in range(m)]  # 각 파티에 오는 사람의 번호

for _ in range(m):
    for p in party: # 각 파티에 대해
        if p & know_truth:  # 진실 아는 사람 있다면
            know_truth |= p  # 진실 아는 사람에 현재 파티에 있는 사람 추가

cnt = 0
for p in party:
    if not p & know_truth:  # 진실 아는 사람이 없는 파티라면
        cnt += 1
print(cnt)

 

 

728x90
Comments