λͺ©λ‘μ „체 κΈ€ (117)

𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°±μ€€] 2667번: λ‹¨μ§€λ²ˆν˜ΈλΆ™μ΄κΈ° - C++

문제 κ³Ό 같이 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 지도가 μžˆλ‹€. 1은 집이 μžˆλŠ” 곳을, 0은 집이 μ—†λŠ” 곳을 λ‚˜νƒ€λ‚Έλ‹€. μ² μˆ˜λŠ” 이 지도λ₯Ό 가지고 μ—°κ²°λœ μ§‘μ˜ λͺ¨μž„인 단지λ₯Ό μ •μ˜ν•˜κ³ , 단지에 번호λ₯Ό 뢙이렀 ν•œλ‹€. μ—¬κΈ°μ„œ μ—°κ²°λ˜μ—ˆλ‹€λŠ” 것은 μ–΄λ–€ 집이 쒌우, ν˜Ήμ€ μ•„λž˜μœ„λ‘œ λ‹€λ₯Έ 집이 μžˆλŠ” 경우λ₯Ό λ§ν•œλ‹€. λŒ€κ°μ„ μƒμ— 집이 μžˆλŠ” κ²½μš°λŠ” μ—°κ²°λœ 것이 μ•„λ‹ˆλ‹€. λŠ” 을 λ‹¨μ§€λ³„λ‘œ 번호λ₯Ό 뢙인 것이닀. 지도λ₯Ό μž…λ ₯ν•˜μ—¬ λ‹¨μ§€μˆ˜λ₯Ό 좜λ ₯ν•˜κ³ , 각 단지에 μ†ν•˜λŠ” μ§‘μ˜ 수λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜μ—¬ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫 번째 μ€„μ—λŠ” μ§€λ„μ˜ 크기 N(μ •μ‚¬κ°ν˜•μ΄λ―€λ‘œ κ°€λ‘œμ™€ μ„Έλ‘œμ˜ ν¬κΈ°λŠ” κ°™μœΌλ©° 5≤N≤25)이 μž…λ ₯되고, κ·Έ λ‹€μŒ Nμ€„μ—λŠ” 각각 N개의 자료(0ν˜Ήμ€ 1)κ°€ μž…λ ₯λœλ‹€. 좜λ ₯ 첫 번째 μ€„μ—λŠ” 총 λ‹¨μ§€μˆ˜λ₯Ό 좜λ ₯ν•˜μ‹œμ˜€. 그리고 각 ..

[λ°±μ€€] 11724번: μ—°κ²° μš”μ†Œμ˜ 개수 - C++

문제 λ°©ν–₯ μ—†λŠ” κ·Έλž˜ν”„κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ—°κ²° μš”μ†Œ (Connected Component)의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μ •μ μ˜ 개수 Nκ³Ό κ°„μ„ μ˜ 개수 M이 주어진닀. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) λ‘˜μ§Έ 쀄뢀터 M개의 쀄에 κ°„μ„ μ˜ μ–‘ 끝점 u와 vκ°€ 주어진닀. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 ν•œ 번만 주어진닀. 좜λ ₯ 첫째 쀄에 μ—°κ²° μš”μ†Œμ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€. κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜μ„ μ΄μš©ν•˜μ—¬ ν‘ΈλŠ” 문제. DFSλ₯Ό μ‚¬μš©ν•˜μ—¬ ν’€μ—ˆλ‹€. 0번 정점뢀터 NκΉŒμ§€ ν•œλ²ˆμ”© DFSλ₯Ό μ‹€ν–‰ν•˜λ˜, DFSμ—μ„œ μƒˆλ‘œ 정점을 λ°©λ¬Έν•  λ•Œ λ§ˆλ‹€ cλ₯Ό 1μ”© μ¦κ°€μ‹œμΌœ λ°©λ¬Έν•œ λ…Έλ“œμ˜ 수λ₯Ό μ„Έμ£Όκ³ , DFSκ°€ 끝났을 λ•Œ λ°©λ¬Έν•œ λ…Έλ“œμ˜ 수 cκ°€ 이전보닀 μ¦κ°€ν–ˆλ‹€λ©΄ μƒˆλ‘œμš΄ ..