๋์ด๋ : ๊ณจ๋ 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 /..
๋์ด๋ : ๊ณจ๋ 3 ๊ฑธ๋ฆฐ ์๊ฐ : 30๋ถ ๋ฌธ์ ๋ค๋ฆฌ ๋ง๋ค๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 2146๋ฒ: ๋ค๋ฆฌ ๋ง๋ค๊ธฐ ์ฌ๋ฌ ์ฌ์ผ๋ก ์ด๋ฃจ์ด์ง ๋๋ผ๊ฐ ์๋ค. ์ด ๋๋ผ์ ๋ํต๋ น์ ์ฌ์ ์๋ ๋ค๋ฆฌ๋ฅผ ๋ง๋ค๊ฒ ๋ค๋ ๊ณต์ฝ์ผ๋ก ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํด ๋น์ ๋ ์ ์์๋ค. ํ์ง๋ง ๋ง์ ๋ํต๋ น์ ์ทจ์ํ์, ๋ค๋ฆฌ๋ฅผ ๋๋๋ค๋ ๊ฒ์ด ์๊น๋ค www.acmicpc.net ํ์ด ๊ฐ์ฅ ์งง์ ๋ค๋ฆฌ์ ๊ธธ์ด == ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ์ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ชจ๋ ์ฌ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผ ํจ ๊ฐ ์ฌ์ ์ํ ์ ๋ค๋ก๋ถํฐ ๋ค๋ฅธ ์ฌ์ ์ ๋ค๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๊ฐ์ค์น ์์ผ๋ฏ๋ก bfs ์ด์ฉ ๊ฐ ์ฌ์ ์ํ๋ ์ ๋ค์ bfs๋ก ๋ฐ๋ก ์ฐพ๊ธฐ ์ฝ๋ #include #include using namespace std; int map[101][101]; int direction[4][2] = { ..
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 30๋ถ ๋ฌธ์ ๋ณด๋ฌผ์ฌ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ณด๋ฌผ์ฌ ์ง๋๋ฅผ ๋ฐ๊ฒฌํ ํํฌ ์ ์ฅ์ ๋ณด๋ฌผ์ ์ฐพ์๋์ฐ๋ค. ๋ณด๋ฌผ์ฌ ์ง๋๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ฉฐ ์ฌ๋ฌ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ ์นธ์ ์ก์ง(L)๋ ๋ฐ๋ค(W)๋ก ํ์๋์ด ์๋ค. ์ด ์ง๋์์ ์ด๋์ ์ํ์ข์ฐ๋ก ์ด์ํ ์ก์ง๋ก๋ง ๊ฐ๋ฅํ๋ฉฐ, ํ ์นธ ์ด๋ํ๋๋ฐ ํ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ๋ณด๋ฌผ์ ์๋ก ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ์ด๋ํ๋๋ฐ ์์ด ๊ฐ์ฅ ๊ธด ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์ก์ง ๋ ๊ณณ์ ๋๋์ด ๋ฌปํ์๋ค. ์ก์ง๋ฅผ ๋ํ๋ด๋ ๋ ๊ณณ ์ฌ์ด๋ฅผ ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ์ด๋ํ๋ ค๋ฉด ๊ฐ์ ๊ณณ์ ๋ ๋ฒ ์ด์ ์ง๋๊ฐ๊ฑฐ๋, ๋ฉ๋ฆฌ ๋์๊ฐ์๋ ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์์ ๊ฐ์ด ์ง๋๊ฐ ์ฃผ์ด์ก๋ค๋ฉด ๋ณด๋ฌผ์ ์๋ ํ์๋ ๋ ๊ณณ์ ๋ฌปํ ์๊ฒ ๋๊ณ , ์ด ๋ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ์ด๋ํ๋ ์๊ฐ์ 8์๊ฐ์ด ๋๋ค. ๋ณด๋ฌผ..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : ์ค๋ ๊ฑธ๋ฆผ ๋ฌธ์ ๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ ๋ฌธ์ ๋ณด๋ฌ๊ฐ๊ธฐ N×M์ ํ๋ ฌ๋ก ํํ๋๋ ๋งต์ด ์๋ค. ๋งต์์ 0์ ์ด๋ํ ์ ์๋ ๊ณณ์ ๋ํ๋ด๊ณ , 1์ ์ด๋ํ ์ ์๋ ๋ฒฝ์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ๋น์ ์ (1, 1)์์ (N, M)์ ์์น๊น์ง ์ด๋ํ๋ ค ํ๋๋ฐ, ์ด๋ ์ต๋จ ๊ฒฝ๋ก๋ก ์ด๋ํ๋ ค ํ๋ค. ์ต๋จ๊ฒฝ๋ก๋ ๋งต์์ ๊ฐ์ฅ ์ ์ ๊ฐ์์ ์นธ์ ์ง๋๋ ๊ฒฝ๋ก๋ฅผ ๋งํ๋๋ฐ, ์ด๋ ์์ํ๋ ์นธ๊ณผ ๋๋๋ ์นธ๋ ํฌํจํด์ ์ผ๋ค. ๋ง์ฝ์ ์ด๋ํ๋ ๋์ค์ ํ ๊ฐ์ ๋ฒฝ์ ๋ถ์๊ณ ์ด๋ํ๋ ๊ฒ์ด ์ข ๋ ๊ฒฝ๋ก๊ฐ ์งง์์ง๋ค๋ฉด, ๋ฒฝ์ ํ ๊ฐ ๊น์ง ๋ถ์๊ณ ์ด๋ํ์ฌ๋ ๋๋ค. ํ ์นธ์์ ์ด๋ํ ์ ์๋ ์นธ์ ์ํ์ข์ฐ๋ก ์ธ์ ํ ์นธ์ด๋ค. ๋งต์ด ์ฃผ์ด์ก์ ๋, ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํด ๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ์ด ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ์ดํด๋ณผ ํ์์..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : ใ ใ .. ์ค๋ ๊ฑธ๋ฆผ ๋ฌธ์ ์๊ธฐ ์์ด ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด bfs๋ฅผ ์ด์ฉํ์ฌ ๋จน์ ์ ์๋ ๊ณ ๊ธฐ ์ฐพ๊ธฐ + ์์ด๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋จน์ ์ ์๋ ๊ณ ๊ธฐ๋ค ์ฐพ๊ธฐ ๊ทธ ์ค ๊ฐ์ฅ ์ผ์ชฝ ์์ ์๋ ๊ณ ๊ธฐ ์ฐพ๊ธฐ ์์ด๊ฐ ํด๋น ๋ฌผ๊ณ ๊ธฐ์ ์์น๋ก ์ด๋ํด์ ๋จน๊ณ , ๋จน์ ๋ฌผ๊ณ ๊ธฐ ๊ฐ์๊ฐ size์ ๊ฐ์์ง๋ฉด size ํค์ฐ๊ธฐ ์์ด๋ณด๋ค ์์ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์์ ๋๊น์ง ๋ฐ๋ณต ์ฝ๋ #include #include #include using namespace std; struct shark { int r; int c; int size = 2; }; struct fish { int r; int c; int distance = 0; fish(int rp, int cp, int dist) { r = rp..
Comment