: bfs, ์ถ์ ๋ฌธ์
: parent ์ค์ ํ ๋, ์์๊ฐ์ ์๊ธฐ์์ ์ ์ ์ ์ ๋ฃ์.
๊ทธ๋ฆฌ๊ณ , ์ถ์ ํ ๋๋ ์ข
์ ์์ ์์์ ๊น์ง ๋์๊ฐ๋ ์กฐ๊ฑด์ผ๋ก ๋ฐ๋ณต๋ฌธ ๋๋ฆฌ์.
trace ์ ์ฅํ ๋, ์์๊ฐ์ ์ด๋ป๊ฒ ์ ์ฅํ ๊น? ์ ๋ํด์.
parent[n] = 0 ์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ, 50ํผ์ผํธ์์ ๋๋์ง๋ง,
์๊ธฐ ์์ ์ ์ ์ ์ผ๋ก ๋์
ํ๋๊น ์๋ฃ๋จ.
ํ๋ ธ๋ ์ฝ๋
-> ๋ด๊ฐ ์ค์ ํ ๊ฒ์ ์์์ ์ 0์ผ๋ก ๋๊ณ ์์ํ์
์ด๊ฑด๋ฐ
์ ๊ทธ๋ฐ์ง ์ด์ ๋ฅผ ์ฐพ์๋ณด์.
: ๋
ผ๋ฆฌ์ ์ผ๋ก ์๊ฐํ์ ๋,
trace ๋ ๋ด๊ฐ ์ด๋ ์ ์ ์ผ๋ก๋ถํฐ ์๋์ง๋ฅผ ๋ํ๋ด๋ ๊ฒ์.
๊ทธ๋ฐ๋ฐ, ๋ฐ๋ก์์ ์ฝ๋์ ๊ฒฝ์ฐ, 0์ผ ๊ฒฝ์ฐ์ ๋๋๋ ๊ฒ์ด๊ณ ,
parent[??] = target.first; ๋ก ๋์ด ์๋๋ฐ
๋ง์ฝ์ 0๋ฒ ์ ์ ์ผ๋ก๋ถํฐ ๋ด ์ ์ ๊น์ง ์จ ์ ์ ๋ค์ด ์์ ์ ์์.
๊ต์ฅํ ๋ชจํธํ ์ํ์ ๋ด๊ฐ ์ํ๋ ๊ฒ์
์ข ์ ์์ ์์์ ๊น์ง์ ์ถ์ ๊ฒฝ๋ก๋ฅผ ์ป๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
์กฐ๊ฑด์ ๋ฐ๋์ ์์์ ์ธ n๊น์ง์ ์กฐ๊ฑด์ ํ์ธํ๋๋ก ์ฝ๋ ์์ฑํ๋ ๊ฒ์ด ๋ง์!