[์นด์นด์˜ค ๋ธ”๋ผ์ธ๋“œ 2021] ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ :: c++ ์ฝ”๋“œ, ๋ฌธ์ œ ํ•ด์„, ํ”Œ๋ฃจ์ด๋“œ ์™€์ƒฌ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 2. 28. 19:11

ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ ๋‚œ์ด๋„ : โ˜…โ˜…โ˜…โ˜†โ˜† ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : ๋ชป ํ’€์—ˆ์Œ ๋ฌธ์ œ ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ ๋งํฌ ํ•ด์„ค ๊ทธ๋ž˜ํ”„ ์ตœ๋‹จ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ dijkstra๋‚˜ floyd-warshal ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์šฉ ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ๋“  ์ •์  => ๋ชจ๋“  ์ •์  ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ตฌํ•˜๊ธฐ d[i][j] = i๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ์ตœ์ € ํƒ์‹œ ์š”๊ธˆ min(d[s][k]+d[k][a]+d[k][b])๋ฅผ ๊ตฌํ•˜๋ฉด ๋จ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•œ ์ •์  => ๋ชจ๋“  ์ •์  ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ตฌํ•˜๊ธฐ ๋ฐฐ์—ด(dist)๊ณผ ์šฐ์„ ์ˆœ์œ„ ํ(qp)๋ฅผ ์ด์šฉํ•ด์„œ ์ฒซ ์ •์ ๋ถ€ํ„ฐ ๊ฐ ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐฐ์—ด์— ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ์‹ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋‹ค์Œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๋“ค์„ ๋„ฃ์œผ๋ฉด์„œ ํ•ด๋‹น ๊ฑฐ๋ฆฌ๋ฅผ dist ๋ฐฐ์—ด์—์„œ ๊ฐฑ์‹ ํ•˜๋Š” ๋ฐฉ์‹ a, b ๊ฐ๊ฐ์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋น„์šฉ๊ณผ ํŠน์ • ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋น„์šฉ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์„ ..