๊ทธ๋ํ(4)
-
[BOJ] #2606 - ๋ฐ์ด๋ฌ์ค
2606๋ฒ: ๋ฐ์ด๋ฌ์ค ์ฒซ์งธ ์ค์๋ ์ปดํจํฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ปดํจํฐ์ ์๋ 100 ์ดํ์ด๊ณ ๊ฐ ์ปดํจํฐ์๋ 1๋ฒ ๋ถํฐ ์ฐจ๋ก๋๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๋ค. ๋์งธ ์ค์๋ ๋คํธ์ํฌ ์์์ ์ง์ ์ฐ๊ฒฐ๋์ด ์๋ ์ปดํจํฐ ์์ ์๊ฐ ์ฃผ์ด www.acmicpc.net ** ๋ฌธ์ ์ ํ DFS, BFS ** ํ์ด ๋จ์ํ ์์ ์ ์ ์์๋ถํฐ ๋๋ฌํ ์ ์๋ ๋ ธ๋์ ์๋ฅผ ๊ณ์ฐํ๋ ๋ฌธ์ DFS or BFS๋ฅผ ์ด์ฉํ์ฌ ๋ฐฉ๋ฌธํ๊ฒ ๋๋ ๋ ธ๋์ ๊ฐ์๋ฅผ ๊ณ์ฐ ์ปดํจํฐ์ ์๊ฐ ์ ์ผ๋ฏ๋ก, DFS๋ฅผ ์ด์ฉํด ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ์ ๋ฆฌ def dfs(now_pos): global count visited[now_pos] = True for next_pos in adj[now_pos]: if not visited[next_pos]: count += 1 dfs..
2021.06.22 -
[BOJ] #1939 - ์ค๋์ ํ
1939๋ฒ: ์ค๋์ ํ ์ฒซ์งธ ์ค์ N, M(1≤M≤100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๋ค๋ฆฌ์ ๋ํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ธ ์ ์ A, B(1≤A, B≤N), C(1≤C≤1,000,000,000)๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ A๋ฒ ์ฌ๊ณผ B๋ฒ ์ฌ ์ฌ์ด์ ์ค๋์ ํ์ด C์ธ ๋ค๋ฆฌ www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ด์ง ํ์ ** ํ์ด ๋ค๋ฆฌ์ ๊ฐ์ M์ ์ต๋ 100,000์ด๋ฉฐ, ์ค๋ ์ ํ C๋ ์ต๋ 1,000,000,000 ์ด์ง ํ์์ ์ด์ฉํ์ฌ O(M * logC)์ ๋ฌธ์ ํด๊ฒฐ 100,000 * 30 = 3,000,000 ํ๋ฒ์ ์ด๋์์ ์ฎ๊ธธ ์ ์๋ ๋ฌผํ๋ค์ ์ค๋์ ์ต๋๊ฐ์ ์ด์ง ํ์์ผ๋ก ์ฐพ์ ๋ฐ๋ณต์ ์ผ๋ก ์ค๋์ ์ค์ ํ์ฌ, ์ด๋์ด ๊ฐ๋ฅํ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ต๋ ์ค๋๊ณผ ์ต์ ์ค๋ ์ค์ ์ค๊ฐ๊ฐ์ ์ด๊ธฐํํ ๋ ์ต์ ์ค๋..
2021.06.16 -
[์๊ณ ๋ฆฌ์ฆ] #6_3 DFS
** DFS ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ ์๋ฃ๊ตฌ์กฐ ์คํ๊ณผ ํ๋ฅผ ํ์ฉํจ need_visit ์คํ๊ณผ visited ํ, ๋ ๊ฐ์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์์ฑ BFS ์๋ฃ๊ตฌ์กฐ๋ ๋ ๊ฐ์ ํ๋ฅผ ํ์ฉํ๋๋ฐ ๋ฐํด, DFS ๋ ์คํ๊ณผ ํ๋ฅผ ํ์ฉํ๋ค๋ ์ฐจ์ด๊ฐ ์์์ ์ธ์งํด์ผ ํจ ํ์ ์คํ ๊ตฌํ์ ๋ณ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ์๋ ์์ง๋ง, ๊ฐ๋จํ ํ์ด์ฌ ๋ฆฌ์คํธ๋ฅผ ํ์ฉํ ์๋ ์์ def dfs(graph, start_node): visited, need_visit = list(), list() need_visit.append(start_node) while need_visit: node = need_visit.pop() # BFS์ ์ฐจ์ด: ์คํ ์ ์ฑ if node not in visited: visited.append(node) need_visit..
2021.06.05 -
[์๊ณ ๋ฆฌ์ฆ] #6_1 ๊ทธ๋ํ
** ๊ทธ๋ํ(Graph) ์ค์ ์ธ๊ณ์ ํ์์ด๋ ์ฌ๋ฌผ์ ๋ ธ๋์ ๊ฐ์ ์ผ๋ก ํํ ** ๊ทธ๋ํ ๊ด๋ จ ์ฉ์ด ๋ ธ๋ (Node): ์์น (= ์ ์ , Vertex) ๊ฐ์ (Edgd): ์์น ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ํ ์ , ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ ์ (= Link, Branch) ์ธ์ ์ ์ (Adjacent Vertex): ๊ฐ์ ์ผ๋ก ์ง์ ์ฐ๊ฒฐ๋ ๋ ธ๋ ์ฐธ๊ณ ์ฉ์ด ์ ์ ์ ์ฐจ์ (Degree): ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์์ ํ๋์ ์ ์ ์ ์ธ์ ํ ์ ์ ์ ์ ์ง์ ์ฐจ์ (In-Degree): ๋ฐฉํฅ ๊ทธ๋ํ์์ ์ธ๋ถ์์ ์ค๋ ๊ฐ์ ์ ์ ์ง์ถ ์ฐจ์ (Out-Degree): ๋ฐฉํฅ ๊ทธ๋ํ์์ ์ธ๋ถ๋ก ํฅํ๋ ๊ฐ์ ์ ์ ๊ฒฝ๋ก ๊ธธ์ด (Path Length): ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋ ๊ฐ์ ์ ์ ๋จ์ ๊ฒฝ๋ก (Simple Path): ์ฒ์ ์ ์ ๊ณผ ๋ ์ ์ ์ ์ ์ธํ๊ณ ์ค๋ณต..
2021.06.04