๋ฌธ์ ๊ฐ๋ฅด์นจ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋จ๊ทน์ ์ฌ๋ ๊น์ง๋ฏผ ์ ์๋์ ํ์๋ค์ด ๋๋๋ก์ด๋ฉด ๋ง์ ๋จ์ด๋ฅผ ์ฝ์ ์ ์๋๋ก ํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ ์ง๊ตฌ์จ๋ํ๋ก ์ธํด ์ผ์์ด ๋ น์์ ๊ณง ํ๊ต๊ฐ ๋ฌด๋์ง๊ธฐ ๋๋ฌธ์, ๊น์ง๋ฏผ์ K๊ฐ์ ๊ธ์๋ฅผ ๊ฐ๋ฅด์น ์๊ฐ ๋ฐ์ ์๋ค. ๊น์ง๋ฏผ์ด ๊ฐ๋ฅด์น๊ณ ๋ ํ์๋, ํ์๋ค์ ๊ทธ K๊ฐ์ ๊ธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด๋ง์ ์ฝ์ ์ ์๋ค. ๊น์ง๋ฏผ์ ์ด๋ค K๊ฐ์ ๊ธ์๋ฅผ ๊ฐ๋ฅด์ณ์ผ ํ์๋ค์ด ์ฝ์ ์ ์๋ ๋จ์ด์ ๊ฐ์๊ฐ ์ต๋๊ฐ ๋๋์ง ๊ณ ๋ฏผ์ ๋น ์ก๋ค. ๋จ๊ทน์ธ์ด์ ๋ชจ๋ ๋จ์ด๋ "anta"๋ก ์์๋๊ณ , "tica"๋ก ๋๋๋ค. ๋จ๊ทน์ธ์ด์ ๋จ์ด๋ N๊ฐ ๋ฐ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ํ์๋ค์ด ์ฝ์ ์ ์๋ ๋จ์ด์ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ์ด brute force๋ก ์ฐพ๊ธฐ (N์ด ์์) ์กฐ๊ฑด๋ค์ ์ด์ฉํ์ฌ ์ต๋ํ ์๊ฐ๋ณต์ก๋ ์ค์ด๊ธฐ ..
๋์ด๋ : ? ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ๋ฌธ์ ๋๋ฌผ์์์ ๋ง ํ์ถํ ์์ญ์ด ํ ๋ง๋ฆฌ๊ฐ ์ธ์๊ตฌ๊ฒฝ์ ํ๊ณ ์๋ค. ๊ทธ ๋ ์์ ๋ง(Horse)์ด ๋๊ธฐ๋ฅผ ๊ฐ์ ํ ์ํ๋ค. ๊ทธ๋์ ๊ทธ๋ ๋ง์ ์์ง์์ ์ ์ฌํ ์ดํด๋ณด๊ณ ๊ทธ๋๋ก ๋ฐ๋ผ ํ๊ธฐ๋ก ํ์๋ค. ๋ง์ ๋ง์ด๋ค. ๋ง์ ๊ฒฉ์ํ์์ ์ฒด์ค์ ๋์ดํธ์ ๊ฐ์ ์ด๋๋ฐฉ์์ ๊ฐ์ง๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ง์ ์ด๋๋ฐฉ๋ฒ์ด ๋ํ๋์๋ค. xํ์ํ ๊ณณ์ผ๋ก ๋ง์ด ๊ฐ ์ ์๋ค๋ ๋ป์ด๋ค. ์ฐธ๊ณ ๋ก ๋ง์ ์ฅ์ ๋ฌผ์ ๋ฐ์ด๋์ ์ ์๋ค. x x x x ๋ง x x x x ๊ทผ๋ฐ ์์ญ์ด๋ ํ ๊ฐ์ง ์ฐฉ๊ฐํ๊ณ ์๋ ๊ฒ์ด ์๋ค. ๋ง์ ์ ๋ ๊ฒ ์์ง์ผ ์ ์์ง๋ง ์์ญ์ด๋ ๋ฅ๋ ฅ์ด ๋ถ์กฑํด์ ์ด K๋ฒ๋ง ์์ ๊ฐ์ด ์์ง์ผ ์ ์๊ณ , ๊ทธ ์ธ์๋ ๊ทธ๋ฅ ์ธ์ ํ ์นธ์ผ๋ก๋ง ์์ง์ผ ์ ์๋ค. ๋๊ฐ์ ๋ฐฉํฅ์ ์ธ์ ํ ์นธ์ ํฌํจ๋์ง ์๋๋ค. ์ด์ ์์ญ์ด..
๋์ด๋ : ๊ณจ๋ 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