λ¬Έμ
νμ΄
μ§μ€μ μκ³ μλ μ¬λμ μ§ν©μ knowList
νν°μ μ°Έμν μ¬λμ μ§ν©μ party
partyλ₯Ό μμλ‘ κ°λ λ°°μ΄ parties
1.
λ§μ½ party, knowListμ κ΅μ§ν©μ΄ νλλΌλ μμΌλ©΄ knowList = knowList.union(party)
(νν°μ μ§μ€μ μλ μ¬λμ΄ ν λͺ μ΄λΌλ μλ€λ©΄, κ·Έ μ¬λμΌλ‘ μΈν΄ νν°μ μ°Έμν λͺ¨λ μ¬λμ΄ μ§μ€μ μκ² λ¨)
2.
μ κ³Όμ μ νν°μ μλ§νΌ λ°λ³΅
why??
5κ°μ νν°κ° μκ³ μ§μ€μ μλ μ¬λμ΄ AλΌκ³ κ°μ νμ.
μ΄ κ²½μ° 5κ°μ νν° μ€ Aκ° μ°Έμ¬ν νν°κ° μλμ§ νμΈνλ©΄ λλ€.
νμΈνλ λμ€ Aκ° 3λ²μ§Έ νν°μ μ°Έμ¬ν κ²μ΄ λ°κ²¬λμ΄ B μμ μ§μ€μ μκ² λμλ€κ³ κ°μ νμ.
Bμ λν΄μλ λ§μ°¬κ°μ§λ‘ 5κ°μ νν° μ€ Bκ° μ°Έμ¬ν νν°κ° μλμ§ νμΈν΄μΌ νλ€.
μ΄λ μλ‘μ΄ μ¬λμ΄ μ§μ€μ΄ μκ² λλ κ²½μ°μ μ΅λ κ°μ 맀 νν°λ§λ€ μ§μ€μ μκ² λλ μ¬λμ΄ μκΈ°λ κ²μ΄λ€.
λ°λΌμ νν°μ μλ§νΌ λ°λ³΅ν΄μΌ νλ€.
μ½λ
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
knowList = set(input().split()[1:])
parties = []
for _ in range(m):
parties.append(set(input().split()[1:]))
for _ in range(m):
for party in parties:
if party & knowList:
knowList = knowList.union(party)
cnt = 0
for party in parties:
if party & knowList:
continue
cnt += 1
print(cnt)
λ§λ¬΄λ¦¬
νμ΄λ₯Ό 보λ μ¬μ΄λ°... μ μ΄κ±Έ μκ° λͺ»νμκΉ μΆλ€.
ν΄λ΅μ λ³΄κ³ λ μ½κ² μ΄ν΄νμ§ λͺ»νλ€.
μμ§ λ§μ΄ λΆμ‘±νλ€. μΈμ μ―€ μν μ μμκΉ γ γ