๋ชฉ๋ก์•Œ๊ณ ๋ฆฌ์ฆ˜ (80)

๐Ÿ’ป

[์•Œ๊ณ ๋ฆฌ์ฆ˜] [์ตœ๋‹จ๊ฑฐ๋ฆฌ ์™„์ „์ •๋ณต] ๋‹ค์ต์ŠคํŠธ๋ผ - ์ตœ์†Œ๋น„์šฉ๊ตฌํ•˜๊ธฐ

๋‹ค์ต์ŠคํŠธ๋ผ 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

[๋ฐฑ์ค€] ๋ธŒ๋ฃจํŠธํฌ์Šค - 1018. ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ

๋ฌธ์ œ ์ง€๋ฏผ์ด๋Š” ์ž์‹ ์˜ ์ €ํƒ์—์„œ MN๊ฐœ์˜ ๋‹จ์œ„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” M*N ํฌ๊ธฐ์˜ ๋ณด๋“œ๋ฅผ ์ฐพ์•˜๋‹ค. ์–ด๋–ค ์ •์‚ฌ๊ฐํ˜•์€ ๊ฒ€์€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ , ๋‚˜๋จธ์ง€๋Š” ํฐ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋‹ค. ์ง€๋ฏผ์ด๋Š” ์ด ๋ณด๋“œ๋ฅผ ์ž˜๋ผ์„œ 8*8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ฒด์ŠคํŒ์€ ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰์ด ๋ฒˆ๊ฐˆ์•„์„œ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ๊ฐ ์นธ์ด ๊ฒ€์€์ƒ‰๊ณผ ํฐ์ƒ‰ ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ‰์น ๋˜์–ด ์žˆ๊ณ , ๋ณ€์„ ๊ณต์œ ํ•˜๋Š” ๋‘ ๊ฐœ์˜ ์‚ฌ๊ฐํ˜•์€ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์ •์˜๋ฅผ ๋”ฐ๋ฅด๋ฉด ์ฒด์ŠคํŒ์„ ์ƒ‰์น ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‘ ๊ฐ€์ง€๋ฟ์ด๋‹ค. ํ•˜๋‚˜๋Š” ๋งจ ์™ผ์ชฝ ์œ„ ์นธ์ด ํฐ์ƒ‰์ธ ๊ฒฝ์šฐ, ํ•˜๋‚˜๋Š” ๊ฒ€์€์ƒ‰์ธ ๊ฒฝ์šฐ์ด๋‹ค. ๋ณด๋“œ๊ฐ€ ์ฒด์ŠคํŒ์ฒ˜๋Ÿผ ์น ํ•ด์ ธ ์žˆ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†์–ด์„œ, ์ง€๋ฏผ์ด๋Š” 8*8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ์ž˜๋ผ๋‚ธ ํ›„์— ๋ช‡ ๊ฐœ์˜ ์ •์‚ฌ๊ฐํ˜•์„ ๋‹ค์‹œ ์น ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๋‹น์—ฐํžˆ 8..

[๋ฐฑ์ค€] DFS์™€BFS - 11403. ๊ฒฝ๋กœ ์ฐพ๊ธฐ

๋ฌธ์ œ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ 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 - 1260.DFS์™€ BFS

๋ฌธ์ œ ๊ทธ๋ž˜ํ”„๋ฅผ DFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ์™€ BFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ๊ฒƒ์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ , ๋” ์ด์ƒ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ข…๋ฃŒํ•œ๋‹ค. ์ •์  ๋ฒˆํ˜ธ๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ์ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ„์„ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๊ฐ„์„ ์€ ์–‘๋ฐฉํ–ฅ์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— DFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋‹ค์Œ ์ค„์—๋Š” BFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. V๋ถ€ํ„ฐ ๋ฐฉ๋ฌธ๋œ ์ ์„ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜][DFS์™€BFS ์™„์ „์ •๋ณต] ๊ทธ๋ž˜ํ”„์˜ ํƒ์ƒ‰

์ด์ „๊ธ€ ) 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 ์ด๋‹ค. ๋ฐฑ์ค€ ๋ฌธ์ œํ’€์ด๋ฅผ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋‚˜๋ฅผ ํž˜๋“ค๊ฒŒ ํ–ˆ๋˜ ๊ฒƒ๋„ ๋ฐ”๋กœ DFS์™€BFS!! ๊ทธ๋ž˜์„œ ๋‚˜์™€ ๊ฐ™์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ƒˆ๋‚ด๊ธฐ ์™•์ดˆ๋ณด๋“ค์„ ์œ„ํ•ด ์™„์ „ ์ •๋ณต์ด๋ผ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์˜ฌ๋ฆฌ๊ณ ์ž ํ•œ๋‹ค. ๊ธ€์„ ์“ฐ๋ฉด์„œ ๋‚˜๋„ ๊ณต๋ถ€ํ•˜๊ณ , ์ž๋ฃŒ๊ฐ€ ๋ถ€๋”” ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์ž…๋‹ˆ๋‹ค :) 1. ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„ ์ธ์ ‘ ํ–‰๋ ฌ - ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ์ผ ๋•Œ A[i][j], A[j][i] - ์ธ์ ‘ ํ–‰๋ ฌ์€ ์—†๋Š” ๊ฐ„์„ ๋„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์“ฐ์ด์ง€๋Š” ์•Š๋Š”๋‹ค. ์‰ฌ์šด ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. - ์ธ์ ‘ ํ–‰๋ ฌ์˜ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(V^2)์ด๋‹ค. ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ) #include #include int a[10][10]; int m..

[๋ฐฑ์ค€] DFS์™€BFS - 10026. ์ ๋ก์ƒ‰์•ฝ

๋ฌธ์ œ ์ ๋ก์ƒ‰์•ฝ์€ ๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ์€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ N×N์ธ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ ์นธ์— R(๋นจ๊ฐ•), G(์ดˆ๋ก), B(ํŒŒ๋ž‘) ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒ‰์น ํ•œ ๊ทธ๋ฆผ์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์€ ๋ช‡ ๊ฐœ์˜ ๊ตฌ์—ญ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋Š”๋ฐ, ๊ตฌ์—ญ์€ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋˜, ๊ฐ™์€ ์ƒ‰์ƒ์ด ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋‘ ๊ธ€์ž๋Š” ๊ฐ™์€ ๊ตฌ์—ญ์— ์†ํ•œ๋‹ค. (์ƒ‰์ƒ์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ™์€ ์ƒ‰์ƒ์ด๋ผ ํ•œ๋‹ค) ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทธ๋ฆผ์ด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์— ----------------------------------- RRRBB GGBBB BBBRR BBRRR RRRRR ----------------------------------- ์ ๋ก์ƒ‰์•ฝ์ด ์•„๋‹Œ ..