-
[λ°±μ€] 1043 κ±°μ§λ§ with PythonPS 2021. 10. 20. 22:33728x90λ°μν
π BOJ 1043 κ±°μ§λ§
π‘ 쑰건
N, M
μ50 μ΄νμ μμ°μ
κ°κ° μ¬λμ μ, νν°μ μ
μ§μ€μ μλ μ¬λμ μλ0 μ΄μ 50 μ΄νμ μ μ
κ° νν°λ§λ€ μ€λ μ¬λμ μλ1 μ΄μ 50 μ΄νμ μ μ
- μ§λ―Όμ΄λ λͺ¨λ νν°μ μ°Έκ°ν΄μΌνλ€.
μ§λ―Όμ΄λ μ΄μΌκΈ°λ₯Ό κ³Όμ₯λκ² νλ€. λν μ§λ―Όμ΄λ κ±°μ§λ§μμ΄κ° λκΈ° μ«λ€.
μ΄μΌκΈ°μ μ§μ€μ μλ μ¬λμ΄ νν°μ μμΌλ©΄ κ³Όμ₯ν΄μ λ§ν μ μλ€. - κ³Όμ₯λ μ΄μΌκΈ°λ₯Ό ν μ μλ νν° κ°μμ
μ΅λκ°
μ ꡬνλ λ¬Έμ . - μλ£κ΅¬μ‘°μ νμ©μ μꡬνλ μ νμ λ¬Έμ
π₯ μμ€ μ½λ
from sys import stdin n, m = map(int, stdin.readline().split()) trues = set(list(map(int, stdin.readline().split()))[1:]) party = [] cnt = [] for _ in range(m): data = set(map(int, stdin.readline().split()[1:])) if data: party.append(data) cnt.append(1) for _ in range(m): for i, p in enumerate(party): if trues & p: cnt[i] = 0 trues |= p print(sum(cnt))
π μμ λ° μ€νκ²°κ³Ό
μμ
4 5 1 1 1 1 1 2 1 3 1 4 2 4 1
μ€νκ²°κ³Ό
2
β¨οΈ λ¬Έμ νμ΄
cnt
λΌλ 리μ€νΈμ νν°μ μλ§νΌ μμλ₯Ό λ§λ€μ΄μ£Όκ³ , κ° κ°μ1
λ‘ λλ€.
μ΄λ νν°μμ κ³Όμ₯λκ² λ§μ ν μ μλ€λ κ°μ νμ1
λ‘ λ κ².
λν κ° νν°μ ꡬμ±μμparty
리μ€νΈμ κ°κ° μ§μ΄λ£μ΄μ€λ€.νν°μ μλ§νΌ λ€μ μννλ©΄μ κ°
party
μ λ²νΈμ ꡬμ±μμ λ½μ λ°λ³΅λ¬Έμ λ리기 μν΄enumerate
λ₯Ό μ¬μ©ν΄μ€λ€.
enumerate ν¨μλ 리μ€νΈλ₯Ό μννλ©΄μ 리μ€νΈμ κ° μμμ μΈλ±μ€μ μμλ₯Ό λ°ννλ€.νν°μ ꡬμ±μκ³Ό μ§μ€μ μλ μ¬λλ€κ°μ κ΅μ§ν©μ΄ μ‘΄μ¬νλ€λ©΄,
cnt
리μ€νΈμ ν΄λΉ λ²νΈμ ν΄λΉνλ κ°μ0
μΌλ‘ λ³κ²½νλ€.
κ·Έ νν°λ μ§μ€λ§μ λ§ν μ μλ νν°λΌλ κ²μ΄λ€.
κ·Έ ν, νν°μμ μ§μ€μ μκ³ μλ μ¬λλ€μ΄ μ μ₯λμ΄ μλset()
μλ£νμupdate
μμΌμ€λ€.update
μ|=
μ΄ λμ κ°μ ν¨κ³Όλ₯Ό λ³Ό μ μλ€.cnt
리μ€νΈμ ν©μ κ΅¬ν΄ μΆλ ₯νλ€.
πΎ λλμ
set
μ§ν©μλ£νμ κ°λ ₯ν¨μ μ μ μλ λ¬Έμ μλ€.- λ¬Έμ λ₯Ό μ μ½κ³ μλ£κ΅¬μ‘°λ₯Ό νμ©νλ©΄ ν μ μλ λ¬Έμ μλ€.
- μ΄ λ¬Έμ λ₯Ό νλ²μ νμ§ λͺ»νλ€. μμ§ νμ©μ΄ λΆμ‘±ν κ² κ°λ€.
λ°μν'PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 13334 μ² λ‘ with Python (0) 2021.10.25 [λ°±μ€] 12100 2048(easy) with Python (0) 2021.10.25 [λ°±μ€] 3184 μ with Python (0) 2021.10.19 [λ°±μ€] 2343 κΈ°ν λ μ¨ with Python (0) 2021.10.19 [λ°±μ€] 1743 μμλ¬Ό νΌνκΈ° with Python (0) 2021.10.18