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

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

[μ•Œκ³ λ¦¬μ¦˜] κ·Έλž˜ν”„ 순회 문제 - 1. 깊이 μš°μ„  탐색(DFS)

'μ½”λ”© ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ 자료 ꡬ쑰와 μ•Œκ³ λ¦¬μ¦˜ with C++' λ₯Ό μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 더보기 1. κ·Έλž˜ν”„ ; Graph 1.1 κ°œλ… κ·Έλž˜ν”„ 순회 문제λ₯Ό λ“€μ–΄κ°€κΈ° μ „ 짧게 κ·Έλž˜ν”„μ— λŒ€ν•΄ μ„€λͺ…ν•˜μžλ©΄, κ·Έλž˜ν”„λŠ” 정점(vertex)의 μ§‘ν•©κ³Ό 정점듀을 μ„œλ‘œ μž‡λŠ” κ°„μ„ (edge)의 μ§‘ν•©μœΌλ‘œ κ΅¬μ„±λœ 자료ꡬ쑰둜 μ—°κ²°λ˜μ–΄ μžˆλŠ” 객체 κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•  수 μžˆλ‹€. μˆ˜ν•™μ μœΌλ‘œλŠ” G = (vλŠ” 정점, eλŠ” κ°„μ„ μ˜ μ§‘ν•©) ν˜•νƒœλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€. κ°„μ„  λ°©ν–₯의 μœ λ¬΄μ— 따라 λ°©ν–₯ κ·Έλž˜ν”„(directed graph)와 무방ν–₯ κ·Έλž˜ν”„(undirected graph)둜 λ‚˜λˆŒ 수 있고, κ°„μ„ μ˜ κ°€μ€‘μΉ˜ μœ λ¬΄μ— 따라 가쀑 κ·Έλž˜ν”„(weighted graph)와 비가쀑 κ·Έλž˜ν”„(unweighted graph)둜 λ‚˜λˆˆλ‹€. 2. κ·Έλž˜ν”„ 순회 문제..

μ•Œκ³ λ¦¬μ¦˜ 2021. 7. 21. 02:37
[λ°±μ€€] 11057번: 였λ₯΄λ§‰ 수 - C++

문제 였λ₯΄λ§‰ μˆ˜λŠ” 수의 μžλ¦¬κ°€ μ˜€λ¦„μ°¨μˆœμ„ μ΄λ£¨λŠ” 수λ₯Ό λ§ν•œλ‹€. μ΄λ•Œ, μΈμ ‘ν•œ μˆ˜κ°€ 같아도 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μΉœλ‹€. 예λ₯Ό λ“€μ–΄, 2234와 3678, 11119λŠ” 였λ₯΄λ§‰ μˆ˜μ΄μ§€λ§Œ, 2232, 3676, 91111은 였λ₯΄λ§‰ μˆ˜κ°€ μ•„λ‹ˆλ‹€. 수의 길이 N이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 였λ₯΄λ§‰ 수의 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μˆ˜λŠ” 0으둜 μ‹œμž‘ν•  수 μžˆλ‹€. μž…λ ₯ 첫째 쀄에 N (1 ≤ N ≤ 1,000)이 μ£Όμ–΄μ§„λ‹€. 좜λ ₯ 첫째 쀄에 길이가 N인 였λ₯΄λ§‰ 수의 개수λ₯Ό 10,007둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€. DPλ₯Ό μ‚¬μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” 문제. μ•žμ„œ ν’€μ—ˆλ˜ 10844번 μ‰¬μš΄ κ³„λ‹¨μˆ˜ λ¬Έμ œμ™€ λΉ„μŠ·ν•˜λ‹€. N = 1 μΌλ•ŒλŠ” 0λΆ€ν„° 9κΉŒμ§€(μˆ˜λŠ” 0으둜 μ‹œμž‘ν•  수 있음) 10가지이고, N = 2 μΌλ•ŒλŠ” { 00, 01, ..., 11, 12..

[λ°±μ€€] 10844번: μ‰¬μš΄ κ³„λ‹¨μˆ˜ - C++

문제 45656μ΄λž€ 수λ₯Ό 보자. 이 μˆ˜λŠ” μΈμ ‘ν•œ λͺ¨λ“  자리수의 차이가 1이 λ‚œλ‹€. 이런 수λ₯Ό 계단 수라고 ν•œλ‹€. μ„Έμ€€μ΄λŠ” 수의 길이가 N인 계단 μˆ˜κ°€ λͺ‡ 개 μžˆλŠ”μ§€ κΆκΈˆν•΄μ‘Œλ‹€. N이 μ£Όμ–΄μ§ˆ λ•Œ, 길이가 N인 계단 μˆ˜κ°€ 총 λͺ‡ 개 μžˆλŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. (0으둜 μ‹œμž‘ν•˜λŠ” μˆ˜λŠ” μ—†λ‹€.) μž…λ ₯ 첫째 쀄에 N이 μ£Όμ–΄μ§„λ‹€. N은 1보닀 ν¬κ±°λ‚˜ κ°™κ³ , 100보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. 좜λ ₯ 첫째 쀄에 정닡을 1,000,000,000으둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€. DPλ₯Ό μ΄μš©ν•˜μ—¬ ν’€ 수 μžˆλŠ” 문제. 문제 이름은 μ‰¬μš΄ κ³„λ‹¨μˆ˜μΈλ° ν•˜λ‚˜λ„ μ•ˆμ‰½λ‹€. N = 1μΌλ•ŒλŠ” 1λΆ€ν„° 9κΉŒμ§€(0은 ν¬ν•¨ν•˜μ§€ μ•ŠμŒ) 9κ°€μ§€κ³ , N = 2μΌλ•ŒλŠ” { 10, 12, 21, 23, 32, 34, ... , 89, 98 } (90은 ..