๋ฌธ์ ์์ ์ด์ง ํธ๋ฆฌ ๋๋ก ๋คํธ์ํฌ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ BOJ ๋๋ผ๋ ๋์์ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ๋ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ฅผ ๊ฐ์ง๋ค. ์๋น์ด๋ BOJ ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ ํธ๋ฆฌ์ ๋์ด H๋ฅผ ์๊ณ ์๋ค. ํธ๋ฆฌ์ ๋์ด๋ฅผ ์๋ค๋ฉด, ๋์์ ๊ฐ์์ ๋๋ก์ ๊ฐ์๋ ๊ตฌํ ์ ์๋ค. ํธ๋ฆฌ์ ๋์ด๊ฐ H์ธ ๊ฒฝ์ฐ์ ๋์์ ๊ฐ์๋ 2(H+1)-1๊ฐ ์ด๊ณ , ๋๋ก์ ๊ฐ์๋ 2(H+1)-2๊ฐ๊ฐ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ H = 2์ผ ๋, ๊ทธ๋ฆผ์ด๋ค. ์๋น์ด๋ ๋๋ก ๋คํธ์ํฌ์ ์ฐจ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ๋ชจ๋ ์ฐจ๋ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ์์ผ๋ฉฐ, ๊ฐ์ ๋์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค. ์ฐจ์ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ๊ฐ์ ์๋ ์๋ค. ๋ชจ๋ ๋์๋ฅผ ๋ฐฉ๋ฌธํ ์ฐจ์ ๊ฐ์๊ฐ ๋ชจ๋ 1๊ฐ๊ฐ ๋๊ธฐ ์ํด์, ์๋น์ด๊ฐ ์ฐจ..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 40๋ถ ๋ฌธ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ(rooted tree)๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ํธ๋ฆฌ ์์ ๋ ์ ์ ์ด ์ฃผ์ด์ง ๋ ๊ทธ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์(Nearest Common Anscestor)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์, ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ์ง๋ฉด์ ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(์ฆ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด 15์ 11๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ๋ ๋ ธ๋๋ 4์ 8์ด ์์ง๋ง, ๊ทธ ์ค ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(15์ 11์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ 4 ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ 4๊ฐ ๋ฉ๋๋ค. ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๊ณ , ๋ ๋ ธ๋๊ฐ ์ฃผ์ด์ง ๋ ๊ทธ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 20๋ถ ๋ฌธ์ ์ ํ๋ฒํธ ๋ชฉ๋ก ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ด ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ด ์๋์ง ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ฉด, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์ ๊ธด๊ธ์ ํ: 911 ์๊ทผ: 97 625 999 ์ ์: 91 12 54 26 ์ด ๊ฒฝ์ฐ์ ์ ์์ด์๊ฒ ์ ํ๋ฅผ ๊ฑธ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ ํ๊ธฐ๋ฅผ ๋ค๊ณ ์ ์์ด ๋ฒํธ์ ์ฒ์ ์ธ ์๋ฆฌ๋ฅผ ๋๋ฅด๋ ์๊ฐ ๋ฐ๋ก ๊ธด๊ธ์ ํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ์ด ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ด๋ค. ํ์ด b+tree ์ฌ์ฉ ์ฝ๋ #include #include #include #include using namespace ..
๋์ด๋ : ? ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ๋ฌธ์ ๋๋ฌผ์์์ ๋ง ํ์ถํ ์์ญ์ด ํ ๋ง๋ฆฌ๊ฐ ์ธ์๊ตฌ๊ฒฝ์ ํ๊ณ ์๋ค. ๊ทธ ๋ ์์ ๋ง(Horse)์ด ๋๊ธฐ๋ฅผ ๊ฐ์ ํ ์ํ๋ค. ๊ทธ๋์ ๊ทธ๋ ๋ง์ ์์ง์์ ์ ์ฌํ ์ดํด๋ณด๊ณ ๊ทธ๋๋ก ๋ฐ๋ผ ํ๊ธฐ๋ก ํ์๋ค. ๋ง์ ๋ง์ด๋ค. ๋ง์ ๊ฒฉ์ํ์์ ์ฒด์ค์ ๋์ดํธ์ ๊ฐ์ ์ด๋๋ฐฉ์์ ๊ฐ์ง๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ง์ ์ด๋๋ฐฉ๋ฒ์ด ๋ํ๋์๋ค. xํ์ํ ๊ณณ์ผ๋ก ๋ง์ด ๊ฐ ์ ์๋ค๋ ๋ป์ด๋ค. ์ฐธ๊ณ ๋ก ๋ง์ ์ฅ์ ๋ฌผ์ ๋ฐ์ด๋์ ์ ์๋ค. x x x x ๋ง x x x x ๊ทผ๋ฐ ์์ญ์ด๋ ํ ๊ฐ์ง ์ฐฉ๊ฐํ๊ณ ์๋ ๊ฒ์ด ์๋ค. ๋ง์ ์ ๋ ๊ฒ ์์ง์ผ ์ ์์ง๋ง ์์ญ์ด๋ ๋ฅ๋ ฅ์ด ๋ถ์กฑํด์ ์ด K๋ฒ๋ง ์์ ๊ฐ์ด ์์ง์ผ ์ ์๊ณ , ๊ทธ ์ธ์๋ ๊ทธ๋ฅ ์ธ์ ํ ์นธ์ผ๋ก๋ง ์์ง์ผ ์ ์๋ค. ๋๊ฐ์ ๋ฐฉํฅ์ ์ธ์ ํ ์นธ์ ํฌํจ๋์ง ์๋๋ค. ์ด์ ์์ญ์ด..
๋์ด๋ : ๊ณจ๋ 1 ๊ฑธ๋ฆฐ ์๊ฐ : ๋ง์ด ๋ฌธ์ ๋ฌ์ด ์ฐจ์ค๋ฅธ๋ค ๊ฐ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฏผ์์ด๋ ์ง๊ธ ๋ฏธ๋ก ์์ ์๋ค. ๋ฏธ๋ก๋ ์ง์ฌ๊ฐํ ๋ชจ์์ด๊ณ , ์ฌํ๊ธธ์ ๋ ๋๊ธฐ ์ํด ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ ค๊ณ ํ๋ค. ๋ฏธ๋ก๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋์ด์ ธ์๋ค. ๋น ๊ณณ : ์ธ์ ๋ ์ด๋ํ ์ ์๋ค. ('.‘๋ก ํ์๋จ) ๋ฒฝ : ์ ๋ ์ด๋ํ ์ ์๋ค. (‘#’) ์ด์ : ์ธ์ ๋ ์ด๋ํ ์ ์๋ค. ์ด ๊ณณ์ ์ฒ์ ๋ค์ด๊ฐ๋ฉด ์ด์ ๋ฅผ ์ง๋๋ค. (a - f) ๋ฌธ : ๋์ํ๋ ์ด์ ๊ฐ ์์ ๋๋ง ์ด๋ํ ์ ์๋ค. (A - F) ๋ฏผ์์ด์ ํ์ฌ ์์น : ๋น ๊ณณ์ด๊ณ , ๋ฏผ์์ด๊ฐ ํ์ฌ ์ ์๋ ๊ณณ์ด๋ค. (์ซ์ 0) ์ถ๊ตฌ : ๋ฌ์ด ์ฐจ์ค๋ฅด๊ธฐ ๋๋ฌธ์, ๋ฏผ์์ด๊ฐ ๊ฐ์ผํ๋ ๊ณณ์ด๋ค. ์ด ๊ณณ์ ์ค๋ฉด ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ค. (์ซ์ 1) ๋ฌ์ด ์ฐจ์ค๋ฅด๋ ๊ธฐํ๋ฅผ ๋์น์ง ์๊ธฐ ์ํด์, ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ ค..
๋์ด๋ : ๊ณจ๋ 2 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฌธ์ ํธ๋ฆฌ์ ๋์ด์ ๋๋น ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ด์งํธ๋ฆฌ๋ฅผ ๋ค์์ ๊ท์น์ ๋ฐ๋ผ ํ๊ณผ ์ด์ ๋ฒํธ๊ฐ ๋ถ์ด์๋ ๊ฒฉ์ ๋ชจ์์ ํ ์์ ๊ทธ๋ฆฌ๋ ค๊ณ ํ๋ค. ์ด๋ ๋ค์์ ๊ท์น์ ๋ฐ๋ผ ๊ทธ๋ฆฌ๋ ค๊ณ ํ๋ค. ์ด์งํธ๋ฆฌ์์ ๊ฐ์ ๋ ๋ฒจ(level)์ ์๋ ๋ ธ๋๋ ๊ฐ์ ํ์ ์์นํ๋ค. ํ ์ด์๋ ํ ๋ ธ๋๋ง ์กด์ฌํ๋ค. ์์์ ๋ ธ๋์ ์ผ์ชฝ ๋ถํธ๋ฆฌ(left subtree)์ ์๋ ๋ ธ๋๋ค์ ํด๋น ๋ ธ๋๋ณด๋ค ์ผ์ชฝ์ ์ด์ ์์นํ๊ณ , ์ค๋ฅธ์ชฝ ๋ถํธ๋ฆฌ(right subtree)์ ์๋ ๋ ธ๋๋ค์ ํด๋น ๋ ธ๋๋ณด๋ค ์ค๋ฅธ์ชฝ์ ์ด์ ์์นํ๋ค. ๋ ธ๋๊ฐ ๋ฐฐ์น๋ ๊ฐ์ฅ ์ผ์ชฝ ์ด๊ณผ ์ค๋ฅธ์ชฝ ์ด ์ฌ์ด์ ์๋ฌด ๋ ธ๋๋ ์์ด ๋น์ด์๋ ์ด์ ์๋ค. ์ด์ ๊ฐ์ ๊ท์น์ ๋ฐ๋ผ ์ด์งํธ๋ฆฌ๋ฅผ ๊ทธ๋ฆด ๋ ๊ฐ ๋ ๋ฒจ์ ๋๋น๋ ๊ทธ ๋ ๋ฒจ์ ํ ๋น๋ ๋ ธ๋ ์ค ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ..
๋์ด๋ : ๊ณจ๋ 2 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฌธ์ ํผ์ฆ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 3×3 ํ์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐ ์ฑ์์ ธ ์๋ค. ์ค๋ฅธ์ชฝ ์๋ ๊ฐ์ฅ ๋ ์นธ์ ๋น์ด ์๋ ์นธ์ด๋ค. 1 2 3 4 5 6 7 8 ์ด๋ค ์์ ์ธ์ ํด ์๋ ๋ค ๊ฐ์ ์นธ ์ค์ ํ๋๊ฐ ๋น์ด ์์ผ๋ฉด, ์๋ฅผ ๊ทธ ์นธ์ผ๋ก ์ด๋์ํฌ ์๊ฐ ์๋ค. ๋ฌผ๋ก ํ ๋ฐ๊นฅ์ผ๋ก ๋๊ฐ๋ ๊ฒฝ์ฐ๋ ๋ถ๊ฐ๋ฅํ๋ค. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ด๊ธฐ ์ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์์ ์ด๋์ผ๋ก ์์ ๊ฐ์ ์ ๋ฆฌ๋ ์ํ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ํ์ด ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ์ด๋ฏ๋ก bfs ์ด์ฉ memo ํด์ผ ๋๊ฐ์ ๊ฒฝ๋ก ๋ค์ ํ์ x memo๋ ์ ์ฒด map์ ์ํ๋ฅผ ์ ์ฅํด์ผํจ string์ผ๋ก ์ ์ฅ ์ฝ๋ #include #include #include #include #include using namespace std; int map[..
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ 30๋ถ ๋ฌธ์ DSLR ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด DSLR์ด๋ผ๋ 4๊ฐ์ง ๊ฒฝ๋ก๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ bfs ์ฝ๋ #include #include #include using namespace std; struct point { int prev; char state; int visited = -1; }; char dslrArr[4] = { 'D', 'S', 'L', 'R' }; int dslrResult(int type, int num) { int tmp; switch (type) { case 0 : return (num* 2) % 10000; case 1 : if (num == 0) return 9999; else return num - 1; case 2 : tmp = num /..
Comment