Hide and Seek
์ต๊ทผ์ ํ์๋ ๋ํ์ ์ธ BFS ๋ฌธ์ ์ธ ํ ๋งํ ๋ฌธ์ ์ฒ๋ผ
2์ฐจ์ ๋ฐฐ์ด๋ก ์ฃผ์ด์ง ์ ๋ ฅ์ ๋ํด์๋ง bfs๋ฅผ ์ํํ๋ค๊ฐ ์ ์์ ๋ํ ์ต์ ํ์๋ฅผ bfs๋ก ๋ต์ ์ฐพ์๋ผ ์ ์๋ค๋ ๊ฒ์ด ์ ๊ธฐํ๊ณ ๋ฏ์ค์๋ค. bfs์ ํน์ฑ์ ์๊ฐํด๋ณด๋ฉด ์ฝ๋ค. a์์ b๋ก ๊ฐ๋ ์ต์ ํ์๋ฅผ ๊ตฌํ๋ค. a์์ ๋ค์ ์ ์ ์ผ๋ก ๊ฐ ๋, ๋ฐฉ๋ฌธํ์ง ์์์ผ๋ฉด ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์ ์ ์ผ๋ก ๊ฐ ๋ ํ์(๊ฑฐ๋ฆฌ/์๊ฐ)์ ๊ธฐ๋กํ๋ค! a์์ b๋ก ๊ฐ๋ ์ต์ ํ์(์ต๋จ๊ฑฐ๋ฆฌ/์ต๋จ์๊ฐ)์ ๊ธฐ๋กํ dist๋ฐฐ์ด์์ b์ ์ด๋ฅด๊ธฐ๊น์ง ํ์๋ฅผ ์๋ฏธํ๋ dist[b] ๊ฐ์ด ์ ๋ต์ด ๋๋ค!
=>2์ฐจ์ ๋ฐฐ์ด ๋ ์ ๋ ฅ with BFS ๋ฟ๋ง ์๋๋ผ Two Dots(DFS), ์์ธ์งํ์ฒ 2ํธ์ (์ธ์ ๋ฆฌ์คํธ ์ด์ฉ), BFS ์คํ์ ์ ์ง ๋ฑ ํ์ด ๋ฐฉ์์ด ๋ค๋ฅธ ๋ฌธ์ ๋ค๋ ์ต์ํด์ง ํ์๊ฐ ์๋ค! ์ ๋ ฅ์ด 2์ฐจ์ ๋ฐฐ์ด์ด ์๋๋ผ๋ BFS/DFS(์ฌ๊ท/์คํ) ํ์ด ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ฆด ์ ์๋๋ก ๋ค์ํ BFS/DFS ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ด์ผ๋ก์จ ์ต์ํด์ง์!
์๋์ ์ฝ๋์ฒ๋ผ ์ํ์ ์ผ๋ก ํ์ด๋ณด์๋๋ฐ ๋ฌดํ๋ฃจํ์ ๋น ์ง๋ ๊ฒ์ฒ๋ผ ์คํ์ด ์ ๋๋ก ๋์ง ์์๋ค.
n์ ๊ฐ๊ฐํ๋ฉด์ while๋ฃจํ ํ์ถ์กฐ๊ฑด์ ๊ฑธ์ด์ฃผ์๋๋ฐ ์ ์ ๋๋ก ์คํ๋์ง ์๋ ๊ฑธ๊น?(QnA ์ง๋ฌธ ์๋ฃ, ๋ต๋ณ ๊ธฐ๋ค๋ฆฌ๋ ์ค 6/1ํ)
BFS Solution
์ ์ : ํ์ฌ ์๋น์ ์์น, ๊ฐ์ : +1/-1/X2
์ต์ ์๊ฐ ์ฐพ๋ BFS ํ์์ ํ์ํ ๊ฒ 1. ์ค๋ณต ๋ฐฉ๋ฌธ ๋ฐฉ์ง๋ฅผ ์ํ check ๋ฐฐ์ด 2. ๊ฑฐ๋ฆฌ(์๊ฐ)๋ฅผ ๊ธฐ๋กํ๊ธฐ ์ํ dist ๋ฐฐ์ด
์ด๋ ์๊ฐ(๊ฐ์ค์น) ๋ชจ๋ 1์ด์ง๋ง, ์ด๋ํ ๋๋ง๋ค ์ด๋ํ๋ ๊ฑฐ๋ฆฌ๊ฐ +1,-1,X2๋ก ๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ์ด๋๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ๋ค์ ์ด๋ ์ ์ ์ฒ๋ฆฌ๋ฅผ ๋ค๋ฅด๊ฒ ํด์ค๋ค!
BFS Solution์ผ๋ก ํ์์ ๋ ํ๋ฆฐ ์ด์ (์ค์)
+1,-1,*2 ๋ค์์ผ๋ก ์ด๋ํ ์ ์ ์ขํ์ ๋ํด ์ค๋ณต์ฒดํฌ๋ฅผ ํ์ง ์์ ๋ฌดํ๋ฃจํ๋ฅผ ๋๊ฒ ๋๊ณ , ๋ฉ๋ชจ๋ฆฌ ํ ๊ณต๊ฐ์ด๊ณผ ์๋ฌ๊ฐ ๋ฌ๋ค.
Last updated