c++3 [๋ฐฑ์ค/C++] 1620๋ฒ : ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ ๋ฌธ์ ์ค๋ฐ์ฌ : ๊ทธ๋ผ ๋ค์์ ์ด์ ์ง์ ํ ํฌ์ผ๋ชฌ ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด ๋๊ฐ์ ์์ฑ์ํค๋๋ก ํ์ฌ๋ผ. ์ผ๋จ ๋ค๊ฐ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ํฌ์ผ๋ชฌ ๋๊ฐ์์ ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋ณด๋ฉด ํฌ์ผ๋ชฌ์ ๋ฒํธ๋ฅผ ๋งํ๊ฑฐ๋, ํฌ์ผ๋ชฌ์ ๋ฒํธ๋ฅผ ๋ณด๋ฉด ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋งํ๋ ์ฐ์ต์ ํ๋๋ก ํ์ฌ๋ผ. ๋์ ์ํ์ ํต๊ณผํ๋ฉด, ๋ด๊ฐ ์๋ก ๋ง๋ ๋๊ฐ์ ์ฃผ๋๋ก ํ๊ฒ ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ผ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ํฌ์ผ๋ชฌ์ ๋ฒํธ๊ฐ 1๋ฒ์ธ ํฌ์ผ๋ชฌ๋ถํฐ N๋ฒ์ ํด๋นํ๋ ํฌ์ผ๋ชฌ๊น์ง ํ ์ค์ ํ๋์ฉ ์ ๋ ฅ์ผ๋ก ๋ค์ด์. ํฌ์ผ๋ชฌ์ ์ด๋ฆ์ ๋ชจ๋ ์์ด๋ก๋ง ์ด๋ฃจ์ด์ ธ์๊ณ , ์ฒซ ๊ธ์๋ง ๋๋ฌธ์์ด๊ณ , ๋๋จธ์ง ๋ฌธ์๋ ์๋ฌธ์๋ก๋ง ์ด.. 2021. 9. 12. [๊ฐ๋ ] DFS์ BFS ๐ ์ ์ 01. DFS(Depth First Search) : ๊น์ด ์ฐ์ ํ์) ๋ฃจํธ ๋ ธํธ์์ ์์ํด์ ๋ค์ ๋ถ๊ธฐ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ํด๋น ๋ถ๊ธฐ๋ฅผ ์๋ฒฝํ๊ฒ ํ์ํ๋ ๋ฐฉ๋ฒ. ๋ชจ๋ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ์คํ(Stack) / ์ฌ๊ทํจ์ ์ฌ์ฉ, ๋ ธ๋ ๋ฐฉ๋ฌธ ์ฌ๋ถ(isVisited[idx]) ์ฌ์ฉ ์ฅ์ - ๋จ์ง ํ ๊ฒฝ๋ก์์ ๋ ธ๋๋ง์ ๊ธฐ์ตํ๋ฉด ๋๋ฏ๋ก ์ ์ฅ๊ณต๊ฐ์ ์์๊ฐ ๋น๊ต์ ์ ๋ค. - ๋ชฉํ๋ ธ๋๊ฐ ๊น์ ๋จ๊ณ์ ์์ ๊ฒฝ์ฐ ํด๋ฅผ ๋นจ๋ฆฌ ๊ตฌํ ์ ์๋ค. ๋จ์ - ํด๊ฐ ์๋ ๊ฒฝ๋ก์ ๊น์ด ๋น ์ง ๊ฐ๋ฅ์ฑ์ด ์๋ค. ๋ฐ๋ผ์ ์ค์ ์ ๊ฒฝ์ฐ ๋ฏธ๋ฆฌ ์ง์ ํ ์์์ ๊น์ด๊น์ง๋ง ํ์ํ๊ณ ๋ชฉํ๋ ธ๋๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ๋ฉด ๋ค์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด ์ ์ฉํ ์๋ ์๋ค. -> ํ์ ๊ณผ์ ์ด ๋๋ฌด ๊น๊ฒ ์งํ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ๊น์ด ์ ํ์ ์ฌ.. 2021. 8. 24. [๋ฐฑ์ค/C++] 3053๋ฒ : ํ์ ๊ธฐํํ (PI ์ฌ์ฉ) ๋ฌธ์ 19์ธ๊ธฐ ๋ ์ผ ์ํ์ ํค๋ฅด๋ง ๋ฏผ์ฝํ์คํค๋ ๋น์ ํด๋ฆฌ๋ ๊ธฐํํ ์ค ํ์ ๊ธฐํํ์ ๊ณ ์ํ๋ค. ํ์ ๊ธฐํํ์์ ๋ ์ T1(x1,y1), T2(x2,y2) ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ ์ ์๋ค. D(T1,T2) = |x1-x2| + |y1-y2| ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ ์๋ ์ ํด๋ฆฌ๋ ๊ธฐํํ์์์ ์ ์์ ๊ฐ๋ค. ๋ฐ๋ผ์ ํ์ ๊ธฐํํ์์ ์์ ์ ์๋ ์ ํด๋ฆฌ๋ ๊ธฐํํ์์ ์์ ์ ์์ ๊ฐ๋ค. ์: ํ๋ฉด ์์ ์ด๋ค ์ ์์ ๊ฑฐ๋ฆฌ๊ฐ ์ผ์ ํ ์ ๋ค์ ์งํฉ ๋ฐ์ง๋ฆ R์ด ์ฃผ์ด์ก์ ๋, ์ ํด๋ฆฌ๋ ๊ธฐํํ์์ ์์ ๋์ด์, ํ์ ๊ธฐํํ์์ ์์ ๋์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฐ์ง๋ฆ R์ด ์ฃผ์ด์ง๋ค. R์ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์๋ ์ ํด๋ฆฌ๋ ๊ธฐํํ์์ ๋ฐ์ง๋ฆ์ด R.. 2021. 8. 13. ์ด์ 1 ๋ค์