-
[λ°±μ€] 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