๋ฌธ์ ๋ฒ ์คํธ ์จ๋ฒ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฒ ์คํธ์จ๋ฒ ์คํธ๋ฆฌ๋ฐ ์ฌ์ดํธ์์ ์ฅ๋ฅด ๋ณ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์๋ ๋ ธ๋๋ฅผ ๋ ๊ฐ์ฉ ๋ชจ์ ๋ฒ ์คํธ ์จ๋ฒ์ ์ถ์ํ๋ ค ํฉ๋๋ค. ๋ ธ๋๋ ๊ณ ์ ๋ฒํธ๋ก ๊ตฌ๋ถํ๋ฉฐ, ๋ ธ๋๋ฅผ ์๋กํ๋ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ํ ๋ ธ๋๊ฐ programmers.co.kr ํ์ด ์ฐ์ ์์๋ด์ผ ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ฅ๋ฅด์ ์ด ์ฌ์ ํ์ -> ์ฅ๋ฅด ์์ ์ ํ๊ธฐ ๊ฐ ์ฅ๋ฅด์ ๊ฐ๋ณ ๊ณก ์ฌ์ ํ์ -> ๊ณก ์์ ์ ํ๊ธฐ ์ด๊ฑธ ํ ๋ฒ์ ์์๋ด๋ ค๊ณ ํ๋ฉด ์ฅ๋ฅด๋ฅผ key๋ก ๋๊ณ ์๋ map์ value๋ก (์ด ์ฌ์ ํ์, index๋ง๋ค์ ์ฌ์ํ์)์ ์ ์ฅํด๋์ด์ผ ํ๊ณ ์ด๋ฌ๋ฉด ์ฅ๋ฅด์ ์์๋ฅผ ์์๋ด๊ธฐ ํ๋ค ๋ฟ๋ง ์๋๋ผ ๊ณก ์์๋ ์ถ์ถํด์ ๋ํ๋ด์ผ ํ๋ค. ๋ฐ๋ผ์ map์ ๋๊ฐ๋ก ๋๋์๋ค. 1๋ฒ map์ { key : ์ฅ..
๋ฌธ์ ์ ํ๋ฒํธ ๋ชฉ๋ก ๋ฌธ์ ๋ฐ๋ก ๊ฐ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ํ๋ฒํธ ๋ชฉ๋ก ์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค. ์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค. ๊ตฌ์กฐ programmers.co.kr ํ์ด ๋ณด์๋ง์ ํธ๋ผ์ด(Trie)๊ฐ ์๊ฐ๋ฌ๋ค. ๋ฌธ์์ด ๊ธธ์ด๋ 20 ์ดํ์ด๋ ์ต๋ ๋์ด๊ฐ 20์ธ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์ฐ๊ฒฐ๋ฆฌ์คํธ ๊ตฌํ์ด ๋๋ฌด ๊ท์ฐฎ๊ธฐ๋ ํ๊ณ , ์ ๋ ฅ์ ๋ฒ์๊ฐ 10^6์ด๋ผ O(nlgn) ์ดํ๋ก ํ ๋ฒ์ ํด๊ฒฐํ ์ ์๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ง ์์๊น ์๊ฐํ๋ค. ์ ๋ ฌ๋์ด ์๋ phone_book์ ํ ๋ฒ์ ํ์ผ๋ฉด ๋ฑ์ฅํ๋ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋ ์ง๋ฅผ ํ์ธํ๋ฉด ๋๋๋ฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ฑ์ฅํ๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋ค์ ์..
๋ฌธ์ ๋ถ๋ ์ฌ์ฉ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ถ๋ ์ฌ์ฉ์ ๊ฐ๋ฐํ ๋ด์์ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ด๋นํ๊ณ ์๋ "๋ฌด์ง"๋ ์ต๊ทผ ์งํ๋ ์นด์นด์ค์ด๋ชจํฐ์ฝ ์ด๋ฒคํธ์ ๋น์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋น์ฒจ์ ์๋ํ ์๋ชจ์๋ค์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฐ ์๋ชจ์๋ค์ ๋ฐ๋ก ๋ชจ์ ๋ถ๋ programmers.co.kr ํ์ด ์ฒ์์๋ ์ ์ฌ ์์ด๋ ๋น ๋ช ๊ฐ์ง์ ๊ฒฝ์ฐ์ ์๊ฐ ๊ฐ๋ฅํ ์ง ๊ณ์ฐํ๋ ค๊ณ ํ์ผ๋, ์ด๋ ๊ฒ ํ๋ค๋ฉด ๊ธฐ์กด์ ์ ์ฌ ์์ด๋์ ๊ฑธ๋ฆฐ ์์ด๋๋ ๋ค์๊ธ ํ๋จํ๋ฉด ์๋๋ ๋ฑ ์๊ฐํด์ผ ํ ๋ฌธ์ ๊ฐ ๋ง์์ง๋ฏ๋ก ์๋์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ์ ์ฌ ์์ด๋์ ๋งค์นญ๋๋ ์์ด๋๋ฅผ ์ฐพ์๋๋ง๋ค dfs๋ก ๋๋ฉด์ ๋ชจ๋ ์ ์ฌ ์์ด๋์ ๋งค์นญ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ์ ๋ ฅ์ ๋ฒ์๊ฐ ์์์ ์๊ฐ๋ณต์ก๋๋ ๋ฌธ์ ์๋ค. ๋ํด์ ์์ด์ด ์๋๋ผ ์กฐํฉ์ด๋ฏ๋ก ์์์ ๊ด๊ณ์์ด ํ๋์ ..
๋ฌธ์ ์ ํ๋ฒ์ค ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - [1์ฐจ] ์ ํ๋ฒ์ค 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr ํ์ด ์ ํ์ด ์ถ๋ฐํ๋ ์๊ฐ์ ๋ค ๊ตฌํ๋ค. ์ฌ๋๋ค์ timetable์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ๊ฐ ์ ํ์ ํ ์ ์๋ ์ฌ๋(์ ํ ์๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ฌ๋)์ ๊ตฌํ๋ค. ์ด ๋, ์ฝ์ด ํด๋น ์ ํ์ ํ ์ ์๊ธฐ ์ํ ์ตํ์ ์๊ฐ์ ๊ตฌํด๋๋๋ค. ์ตํ์ ์๊ฐ์ ์ ํ์ ์ฌ๋์ด ๊ฝ ์ฐฐ ๊ฒฝ์ฐ '๊ฐ์ฅ ํฐ ์๊ฐ - 1' ์ ํ์ ์ฌ๋์ด ๊ฝ ์ฐจ์ง..
๋ฌธ์ [์ฌ์ดํด ๊ฒ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ] 20040๋ฒ: ์ฌ์ดํด ๊ฒ์ ์ฌ์ดํด ๊ฒ์์ ๋ ๋ช ์ ํ๋ ์ด์ด๊ฐ ์ฐจ๋ก๋๋ก ๋์๊ฐ๋ฉฐ ์งํํ๋ ๊ฒ์์ผ๋ก, ์ ํ๋ ์ด์ด๊ฐ ํ์ ๋ฒ์งธ ์ฐจ๋ก๋ฅผ, ํ ํ๋ ์ด์ด๊ฐ ์ง์ ๋ฒ์งธ ์ฐจ๋ก๋ฅผ ์งํํ๋ค. ๊ฒ์ ์์ ์ 0 ๋ถํฐ n − 1 ๊น์ง ๊ณ ์ ํ www.acmicpc.net ์ฌ์ดํด ๊ฒ์์ ๋ ๋ช ์ ํ๋ ์ด์ด๊ฐ ์ฐจ๋ก๋๋ก ๋์๊ฐ๋ฉฐ ์งํํ๋ ๊ฒ์์ผ๋ก, ์ ํ๋ ์ด์ด๊ฐ ํ์ ๋ฒ์งธ ์ฐจ๋ก๋ฅผ, ํ ํ๋ ์ด์ด๊ฐ ์ง์ ๋ฒ์งธ ์ฐจ๋ก๋ฅผ ์งํํ๋ค. ๊ฒ์ ์์ ์ 0 ๋ถํฐ n − 1 ๊น์ง ๊ณ ์ ํ ๋ฒํธ๊ฐ ๋ถ์ฌ๋ ํ๋ฉด ์์ ์ n ๊ฐ๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ด ์ค ์ด๋ ์ธ ์ ๋ ์ผ์ง์ ์์ ๋์ด์ง ์๋๋ค. ๋งค ์ฐจ๋ก ๋ง๋ค ํ๋ ์ด์ด๋ ๋ ์ ์ ์ ํํด์ ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ์ ๋ถ์ ๊ธ๋๋ฐ, ์ด์ ์ ๊ทธ๋ฆฐ ์ ๋ถ์ ๋ค์ ๊ทธ์ ์๋ ์์ง๋ง ์ด๋ฏธ ๊ทธ๋ฆฐ ๋ค๋ฅธ ..
๋ฌธ์ [์์ด ์ฝ๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ] 1501๋ฒ: ์์ด ์ฝ๊ธฐ ์ฒซ์งธ ์ค์ ์ฌ์ ์ ์๋ ๋จ์ด๋ค์ ๊ฐ์ N(0 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ์ค์ ํ๋์ฉ, ์์ด ์ฌ์ ์ ์๋ ๋จ์ด๋ค์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋จ์ด์ ๊ธธ์ด๋ 100์๋ฅผ ๋์ง ์๋๋ค. ๋ค์ ์ค์ www.acmicpc.net ํน์ ์ธํฐ๋ท์ ํ๋ค๊ฐ, ๋ค์๊ณผ ๊ฐ์ ์์ ๋ฌธ์ฅ์ ๋ณธ ์ ์ด ์๋๊ฐ? It is itnersetnig taht pepole can raed smoe grabeld wrods. ์๋์ ๋ฌธ์ฅ์ 'It is interesting that people can read some garbled words'์ด๋ค. ๊ฐ๊ฐ์ ๋จ์ด๋ค์ ์ ์ผ ์ฒซ ๋ฌธ์์ ์ ์ผ ๋ ๋ฌธ์๋ฅผ ์ ์ธํ๊ณ ๋ ์์๊ฐ ๋ค์์ฌ ์๋ค. ํ ๋ํ์์ ์ํํ ์ฐ๊ตฌ ์กฐ์ฌ ๊ฒฐ๊ณผ์..
๋ฌธ์ ์น๊ตฌ ๋คํธ์ํฌ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฏผํ์ด๋ ์์ ๋คํธ์ํฌ ์ฌ์ดํธ์์ ์น๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ข์ํ๋ ์น๊ตฌ์ด๋ค. ์ฐํ๋ฅผ ๋ชจ์ผ๋ ์ทจ๋ฏธ๊ฐ ์๋ฏ์ด, ๋ฏผํ์ด๋ ์์ ๋คํธ์ํฌ ์ฌ์ดํธ์์ ์น๊ตฌ๋ฅผ ๋ชจ์ผ๋ ๊ฒ์ด ์ทจ๋ฏธ์ด๋ค. ์ด๋ค ์ฌ์ดํธ์ ์น๊ตฌ ๊ด๊ณ๊ฐ ์๊ธด ์์๋๋ก ์ฃผ์ด์ก์ ๋, ๋ ์ฌ๋์ ์น๊ตฌ ๋คํธ์ํฌ์ ๋ช ๋ช ์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์น๊ตฌ ๋คํธ์ํฌ๋ ์น๊ตฌ ๊ด๊ณ๋ง์ผ๋ก ์ด๋ํ ์ ์๋ ์ฌ์ด๋ฅผ ๋งํ๋ค. ํ์ด ํน์ ์ด๋ฆ์ด ์ฃผ์ด์ก์ ๋ ํด๋น ์ด๋ฆ์ด ์ํ ๊ทธ๋ฃน์ ์ ์ ์์ด์ผ ํ๊ณ , ํด๋น ๊ทธ๋ฃน์ ์๋ ์ด๋ฆ์ ๊ฐ์๋ฅผ ํ์ ํ ์ ์์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ฆ์ด ์ํ ๊ทธ๋ฃน์ ๋ฐ๋ก ์ฐพ๊ธฐ ์ํด์๋ map๋ฅผ ์ด์ฉํ ์ ์์ผ๋ฉฐ ํด๋น ๊ทธ๋ฃน์ ์๋ ์ด๋ฆ์ ๊ฐ์๋ฅผ ํ์ ํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. set group[..
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 30๋ถ ๋ฌธ์ ์ต์๋น์ฉ ๊ตฌํ๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ N๊ฐ์ ๋์๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๋์์์ ์ถ๋ฐํ์ฌ ๋ค๋ฅธ ๋์์ ๋์ฐฉํ๋ M๊ฐ์ ๋ฒ์ค๊ฐ ์๋ค. ์ฐ๋ฆฌ๋ A๋ฒ์งธ ๋์์์ B๋ฒ์งธ ๋์๊น์ง ๊ฐ๋๋ฐ ๋๋ ๋ฒ์ค ๋น์ฉ์ ์ต์ํ ์ํค๋ ค๊ณ ํ๋ค. A๋ฒ์งธ ๋์์์ B๋ฒ์งธ ๋์๊น์ง ๊ฐ๋๋ฐ ๋๋ ์ต์๋น์ฉ์ ์ถ๋ ฅํ์ฌ๋ผ. ๋์์ ๋ฒํธ๋ 1๋ถํฐ N๊น์ง์ด๋ค. ํ์ด ๋ค์ต์คํธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ์ ์ด์ฉํด์ ํผ๋ค. ๋ค์ต์คํธ๋ผ ๊ฐ๋ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ #include #include #include using namespace std; int main() { // ์ต์๋น์ฉ ๋ฌธ์ => bfs / ๊ทธ๋ํ ํ์(๋ค์ต์คํธ๋ผ) // N 10^3์ดํ M 10^6 ์ดํ // ์ถ๋ฐ, ๋์ฐฉ, ๋น์ฉ // ๋น์ฉ 10^6 ์ดํ // ๋ง์ง๋ง (์ถ๋ฐ..
Comment