![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4TmaI%2Fbtq1SdLSUPm%2FUvNiy2qL7kp1hQ0QrfKBUK%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ์ด์ (์ค๋ฅ ์ฐพ๊ธฐ) ๋ฌธ์ ์ต๋จ๊ฒฝ๋ก ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด ๋ค์ต์คํธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ์ ์ด์ฉํด์ ํผ๋ค. ๋ค์ต์คํธ๋ผ ๊ฐ๋ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ #include #include #include using namespace std; int main() { // ์ ๋ ฅ // v, e๋ 10^5, 10^6์ดํ int V; int E; cin >> V >> E; int start; // ์์ ์ ์ cin >> start; vector edge(V+1, vector(0)); for (int i = 0; i > from >> to >> val; edge[from].push_back(make_pair(to..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJDTk%2FbtqJbxfKogt%2FtLZzZzYXtLLx7B0DQpaMLK%2Fimg.png)
์ต๋จ ๊ฒฝ๋ก ๊ทธ๋ํ์์ ์ ๋๋๋ ๋ฌธ์ ๋ค ์ค ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ์๋ค. ์ฃผ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก(๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก)๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ด๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์ด์ ์ MST ๋ฌธ์ ์ ๋ค๋ฅด๋ค. ๋ชจ๋ ์ ์ ์ ํฌํจํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง MST์์ ์ฌ์ฉํ๋ Prim(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์์ฉํด์ ๊ตฌํํ ์ ์๋ค. [MST] Dijkstra ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ vertice(์ ์ )๋ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋๋ค. tree vertice(T) : tree์ ์ํด ์๋ ์ ์ fringe vertice (F) : tree์ ํฌํจ๋์ง ์์ผ๋ฉด์ ์ฐ๊ฒฐ๋์ด์๋ ์ ์ unseen vertice (U) : ๋๋จธ์ง MST์์ T์ F์ ์ ์ ์ฌ์ด์ ์ต์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๊ฐฑ์ ํด์ฃผ์๋ ๊ฒ ๋์ ์, ์ต๋จ..
Comment