๋ชฉ๋ก์๊ณ ๋ฆฌ์ฆ (80)
๐ป
๋ฌธ์ ์ฌ์๊ธฐ๋ ์ํ๋์ ๊ต์ธ ๋์ฅ์์ ์จ๋ฐ๊ผญ์ง์ ํ๊ณ ์๋ค. ๋์ฅ์๋ ํ๊ฐ์ด ๋ง์ด ๋๋ ค์๊ณ ์ฌ์๊ธฐ๋ ๊ทธ ์ค์ ํ๋์ ์จ์ด์ผ ํ๋ค. ํ๊ฐ์ ๊ฐ์๋ N(2
๋ค์ต์คํธ๋ผ if(dist[to] > dist[from] + cost){ dist[to] = dist[from] + cost; } - D[i] = ์์ -> i ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ - C[i] = i๊ฐ ์ฒดํฌ๋์ด ์์ผ๋ฉด true, ์๋๋ฉด false 1. ์ฒดํฌ๋์ด ์์ง ์๋ ์ ์ ์ค์์ D์ ๊ฐ์ด ๊ฐ์ฅ ์์ ์ ์ x๋ฅผ ์ ํํ๋ค. 2. x๋ฅผ ์ฒดํฌํ๋ค. 3. x์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ ์ ์ ๊ฒ์ฌํ๋ค. ๊ฐ์ ์ (x,y,z)๋ผ๊ณ ํ์ ๋ d[y] > d[x] + z ์ด๋ฉด ๊ฐฑ์ ํด์ค๋ค. 1, 2, 3๋จ๊ณ๋ฅผ ๋ชจ๋ ์ ์ ์ ์ฒดํฌํ ๋๊น์ง ๊ณ์ํ๋ค. - ๋ชจ๋ ์ ์ ์ ํํ๋ฏ๋ก(V-1) X ์ ํ์ ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ O(V) = O(V^2) ์ธ์ ํ๋ ฌ์ ์ด์ฉํ ๊ตฌํ for(int i=1; i
๋ฌธ์ ์ง๋ฏผ์ด๋ ์์ ์ ์ ํ์์ MN๊ฐ์ ๋จ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์๋ M*N ํฌ๊ธฐ์ ๋ณด๋๋ฅผ ์ฐพ์๋ค. ์ด๋ค ์ ์ฌ๊ฐํ์ ๊ฒ์์์ผ๋ก ์น ํด์ ธ ์๊ณ , ๋๋จธ์ง๋ ํฐ์์ผ๋ก ์น ํด์ ธ ์๋ค. ์ง๋ฏผ์ด๋ ์ด ๋ณด๋๋ฅผ ์๋ผ์ 8*8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ฒด์คํ์ ๊ฒ์์๊ณผ ํฐ์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ฐ ์นธ์ด ๊ฒ์์๊ณผ ํฐ์ ์ค ํ๋๋ก ์์น ๋์ด ์๊ณ , ๋ณ์ ๊ณต์ ํ๋ ๋ ๊ฐ์ ์ฌ๊ฐํ์ ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด ์ ์๋ฅผ ๋ฐ๋ฅด๋ฉด ์ฒด์คํ์ ์์น ํ๋ ๊ฒฝ์ฐ๋ ๋ ๊ฐ์ง๋ฟ์ด๋ค. ํ๋๋ ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ, ํ๋๋ ๊ฒ์์์ธ ๊ฒฝ์ฐ์ด๋ค. ๋ณด๋๊ฐ ์ฒด์คํ์ฒ๋ผ ์น ํด์ ธ ์๋ค๋ ๋ณด์ฅ์ด ์์ด์, ์ง๋ฏผ์ด๋ 8*8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ์๋ผ๋ธ ํ์ ๋ช ๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ค์ ์น ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋น์ฐํ 8..
๋ฌธ์ ๊ฐ์ค์น ์๋ ๋ฐฉํฅ ๊ทธ๋ํ G๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ์ ์ (i, j)์ ๋ํด์, i์์ j๋ก ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์๋์ง ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ ์ค์๋ ๊ทธ๋ํ์ ์ธ์ ํ๋ ฌ์ด ์ฃผ์ด์ง๋ค. i๋ฒ์งธ ์ค์ j๋ฒ์งธ ์ซ์๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ i์์ j๋ก ๊ฐ๋ ๊ฐ์ ์ด ์กด์ฌํ๋ค๋ ๋ป์ด๊ณ , 0์ธ ๊ฒฝ์ฐ๋ ์๋ค๋ ๋ป์ด๋ค. i๋ฒ์งธ ์ค์ i๋ฒ์งธ ์ซ์๋ ํญ์ 0์ด๋ค. ์ถ๋ ฅ ์ด N๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๋ฌธ์ ์ ์ ๋ต์ ์ธ์ ํ๋ ฌ ํ์์ผ๋ก ์ถ๋ ฅํ๋ค. ์ ์ i์์ j๋ก ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด i๋ฒ์งธ ์ค์ j๋ฒ์งธ ์ซ์๋ฅผ 1๋ก, ์์ผ๋ฉด 0์ผ๋ก ์ถ๋ ฅํด์ผ ํ๋ค. ์์ ์ ๋ ฅ1 3 0 1 0 0 0 1 1 0 0 ์์ ์ถ๋ ฅ1 1 1 1 1 1 1 1 1 1 ์์ ์ ๋ ฅ..
๋ฌธ์ ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๊ฐ์ ์ ์๋ฐฉํฅ์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ DFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋ค์ ์ค์๋ BFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. V๋ถํฐ ๋ฐฉ๋ฌธ๋ ์ ์ ์์๋๋ก ์ถ๋ ฅํ๋ฉด ๋๋ค. ..
์ด์ ๊ธ ) 2020/02/29 - [์๊ณ ๋ฆฌ์ฆ/๊ธฐ๋ณธ๊ธฐ ๋ค์ง๊ธฐ] - [์๊ณ ๋ฆฌ์ฆ][DFS์BFS ์์ ์ ๋ณต] ๊ทธ๋ํ์ ํํ [์๊ณ ๋ฆฌ์ฆ][DFS์BFS ์์ ์ ๋ณต] ๊ทธ๋ํ์ ํํ ์ด๋์ ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด ์๊ฒ ์ง๋ง ๋ชจ๋ ์ฝ๋ฉํ ์คํธ์ ๊ฑฐ์ ๋จ๊ณจ๋ก ์ถ์ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ๋ก DFS, BFS ์ด๋ค. ๋ฐฑ์ค ๋ฌธ์ ํ์ด๋ฅผ ํ๋ฉด์ ๊ฐ์ฅ ๋๋ฅผ ํ๋ค๊ฒ ํ๋ ๊ฒ๋ ๋ฐ๋ก DFS์BFS!! ๊ทธ๋์ ๋.. hyonee.tistory.com 2. ๊ทธ๋ํ ํ์ DFS:๊น์ด ์ฐ์ ํ์ -> ์ต๋ํ ๊น์ํ ๋ง์ด BFS:๋๋น ์ฐ์ ํ์ -> ์ต๋ํ ๋๊ฒ ๊ฐ๋ ๊ฒ ๋ชจ๋ ๊ฐ์ค์น๊ฐ 1์ธ๊ฒฝ์ฐ ์ต๋จ๊ฑฐ๋ฆฌ ํ์ - ์์ 2๊ฐ์ง ํ์ ๋ชจ๋ ๋ชฉ์ ์ ๋ชจ๋ ์ ์ ์ 1๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ ๊ฒ DFS - ์คํ์ ์ด์ฉํด์ ๊ฐ ์ ์์ ๋งํผ ์ต๋ํ ๋ง์ด ๊ฐ๊ณ ๊ฐ ์ ..
์ด๋์ ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด ์๊ฒ ์ง๋ง ๋ชจ๋ ์ฝ๋ฉํ ์คํธ์ ๊ฑฐ์ ๋จ๊ณจ๋ก ์ถ์ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ๋ก DFS, BFS ์ด๋ค. ๋ฐฑ์ค ๋ฌธ์ ํ์ด๋ฅผ ํ๋ฉด์ ๊ฐ์ฅ ๋๋ฅผ ํ๋ค๊ฒ ํ๋ ๊ฒ๋ ๋ฐ๋ก DFS์BFS!! ๊ทธ๋์ ๋์ ๊ฐ์ด ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์๋ด๊ธฐ ์์ด๋ณด๋ค์ ์ํด ์์ ์ ๋ณต์ด๋ผ๋ ์นดํ ๊ณ ๋ฆฌ๋ก ์ฌ๋ฆฌ๊ณ ์ ํ๋ค. ๊ธ์ ์ฐ๋ฉด์ ๋๋ ๊ณต๋ถํ๊ณ , ์๋ฃ๊ฐ ๋ถ๋ ๋์์ด ๋๊ธธ ๋ฐ๋ผ๋ ๋ง์์ ๋๋ค :) 1. ๊ทธ๋ํ ํํ ์ธ์ ํ๋ ฌ - ์๋ฐฉํฅ ๊ทธ๋ํ ์ผ ๋ A[i][j], A[j][i] - ์ธ์ ํ๋ ฌ์ ์๋ ๊ฐ์ ๋ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ฐ์ด์ง๋ ์๋๋ค. ์ฌ์ด ๋ฌธ์ ๋ฅผ ํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค. - ์ธ์ ํ๋ ฌ์ ๊ณต๊ฐ ๋ณต์ก๋๋ O(V^2)์ด๋ค. ๊ฐ์ค์น๊ฐ ์๋ ๊ฒฝ์ฐ) #include #include int a[10][10]; int m..
๋ฌธ์ ์ ๋ก์์ฝ์ ๋นจ๊ฐ์๊ณผ ์ด๋ก์์ ์ฐจ์ด๋ฅผ ๊ฑฐ์ ๋๋ผ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์, ์ ๋ก์์ฝ์ธ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ์ ์๋ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ๊ณผ๋ ์ข ๋ค๋ฅผ ์ ์๋ค. ํฌ๊ธฐ๊ฐ N×N์ธ ๊ทธ๋ฆฌ๋์ ๊ฐ ์นธ์ R(๋นจ๊ฐ), G(์ด๋ก), B(ํ๋) ์ค ํ๋๋ฅผ ์์น ํ ๊ทธ๋ฆผ์ด ์๋ค. ๊ทธ๋ฆผ์ ๋ช ๊ฐ์ ๊ตฌ์ญ์ผ๋ก ๋๋์ด์ ธ ์๋๋ฐ, ๊ตฌ์ญ์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋, ๊ฐ์ ์์์ด ์ํ์ข์ฐ๋ก ์ธ์ ํด ์๋ ๊ฒฝ์ฐ์ ๋ ๊ธ์๋ ๊ฐ์ ๊ตฌ์ญ์ ์ํ๋ค. (์์์ ์ฐจ์ด๋ฅผ ๊ฑฐ์ ๋๋ผ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๋ ๊ฐ์ ์์์ด๋ผ ํ๋ค) ์๋ฅผ ๋ค์ด, ๊ทธ๋ฆผ์ด ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์ ----------------------------------- RRRBB GGBBB BBBRR BBRRR RRRRR ----------------------------------- ์ ๋ก์์ฝ์ด ์๋ ..