๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/1600 1600๋ฒ: ๋ง์ด ๋๊ณ ํ ์์ญ์ด ์ฒซ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ ๊ฒฉ์ํ์ ๊ฐ๋ก๊ธธ์ด W, ์ธ๋ก๊ธธ์ด H๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ H์ค์ ๊ฑธ์ณ W๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ง๋๋ฐ, 0์ ์๋ฌด๊ฒ๋ ์๋ ํ์ง, 1์ ์ฅ์ ๋ฌผ์ ๋ปํ๋ค. ์ฅ์ ๋ฌผ์ด ์ www.acmicpc.net ํ์ด๋ฅผ ์ํ ํต์ฌ ๋ง ์ด๋ ํ์์ ๋ฐ๋ฅธ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํฉ๋๋ค. ๋ณดํต ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ visited[][] ์ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด๋ก ์งํํ์ง๋ง, ์ด๋ ๊ฒ ํ๊ฒ๋๋ฉด ๋ง๋ก ์ด๋ํ ์ง์ ์ visited๊ฐ true๋ก ๋์ด ๊ทธ๋ฅ ์ด๋์ด ๋ ์ด์ ์งํํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด (0,0)์์ bfs๋ฅผ ์ํํ๋ฉด (0,1) (1,0) (1,2)๊ฐ ๋ฐฉ๋ฌธ์ฒดํฌ ๋๊ณ ํ์ ๋ค์ด๊ฐ๋๋ค. ์ฌ๊ธฐ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/1707 1707๋ฒ: ์ด๋ถ ๊ทธ๋ํ ์
๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ
์คํธ ์ผ์ด์ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ K๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ํ์ ์ ์ ์ ๊ฐ์ V์ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ๋น ์นธ์ ์ฌ์ด์ www.acmicpc.net ์ด๋ถ๊ทธ๋ํ ์ธ์ ํ ์ ์ ๋ผ๋ฆฌ ์๋ก ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ๋ชจ๋ ์ ์ ์ ๋ ๊ฐ์ง ์์ผ๋ก๋ง ์น ํ ์ ์๋ ๊ทธ๋ํ. ํ์ด๋ฅผ ์ํ ์์ด๋์ด : ์ด๋ถ๊ทธ๋ํ์ ํ๋์ ๊ฐ์ ์ ์ฐ๊ฒฐ๋ ๋ ๋
ธ๋์ ์์์ ์๋ก ๋ฌ๋ผ์ผ ํ๋ค. ๋ชจ๋ ๋
ธ๋์ ๋ํด bfs๋ฅผ ์ํํ๋ฉด์ ์ฐ๊ฒฐ๋ ๋
ธ๋์ ์๋ก ์์์ด ๋ค๋ฅธ์ง ํ์ธํด์ผ ํ๋ค. ๋ณ์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ์ ์์ํ์ธ์ ๋์์ ์ํํ๋ int[] chk ๋ฐฐ์ด์ ๋๋ค. -1 : ์์ง ๋ฐฉ๋ฌธํ์ง ์์ ๋
ธ๋ ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/1520 1520๋ฒ: ๋ด๋ฆฌ๋ง ๊ธธ ์ฒซ์งธ ์ค์๋ ์ง๋์ ์ธ๋ก์ ํฌ๊ธฐ M๊ณผ ๊ฐ๋ก์ ํฌ๊ธฐ N์ด ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ด์ด ๋ค์ M๊ฐ ์ค์ ๊ฑธ์ณ ํ ์ค์ N๊ฐ์ฉ ์์์๋ถํฐ ์ฐจ๋ก๋ก ๊ฐ ์ง์ ์ ๋์ด๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ์ด๊ณผ์ (r,c)์์ ๋ชฉ์ ์ง (M-1,N-1)๊น์ง ๊ฐ ์ ์๋ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ฐฏ์๋ (r,c)์ ์ธ์ ํ (nr,nc)์์ ๋ชฉ์ ์ง (M-1,N-1)๊น์ง ๊ฐ ์ ์๋ ๊ฒฝ๋ก ๊ฐฏ์์ ํฉ์ด๋ค. ์ ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค ๋ณดํต์ bottom-up ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ dp๊ฐ ์๋์๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ด์
๋ฐฉ๋ฒ ๋ฐฉ๋ฌธ์ฒดํฌ ๋ฐฐ์ด(visited) ์ ๋ฌ์ ๊ณ์ฐ์ด ์๋ฃ๋ ์ขํ์ ๊ฒฝ์ฐ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ฆฌํดํ๋ ๋ฐฉ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/15684 15684๋ฒ: ์ฌ๋ค๋ฆฌ ์กฐ์ ์ฌ๋ค๋ฆฌ ๊ฒ์์ N๊ฐ์ ์ธ๋ก์ ๊ณผ M๊ฐ์ ๊ฐ๋ก์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ธ์ ํ ์ธ๋ก์ ์ฌ์ด์๋ ๊ฐ๋ก์ ์ ๋์ ์ ์๋๋ฐ, ๊ฐ๊ฐ์ ์ธ๋ก์ ๋ง๋ค ๊ฐ๋ก์ ์ ๋์ ์ ์๋ ์์น์ ๊ฐ์๋ H์ด๊ณ , ๋ชจ๋ ์ธ๋ก์ www.acmicpc.net ํ์ด๊ณผ์ check() :i๋ฒ ์ธ๋ก์ ์ ๊ฒฐ๊ณผ๊ฐ i๋ฒ์ด ๋์ค๋์ง ํ์ธํ๋ ํจ์ ์ฌ๋ค๋ฆฌ 0๊ฐ ๋๊ณ check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 1๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 2๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ์ฌ๋ค๋ฆฌ 3๊ฐ๋ฅผ ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด check()ํ๊ธฐ ๋ง์ฝ ์ฌ๋ค๋ฆฌ 1๊ฐ๋ฅผ ๋๋ ๊ณผ์ ์์ check()==true๊ฐ ๋๋ค๋ฉด ์ฌ๋ค๋ฆฌ 2๊ฐ, 3๊ฐ ๋๋ ๊ณผ์ ์ ํ์ํ์ง ์๋ค. ์..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/14890 14890๋ฒ: ๊ฒฝ์ฌ๋ก ์ฒซ์งธ ์ค์ N (2 ≤ N ≤ 100)๊ณผ L (1 ≤ L ≤ N)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ง๋๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์นธ์ ๋์ด๋ 10๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ๋ชจ๋ ํ์ ๋ํด์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์งํํ๋ฉฐ ์ง๋๊ฐ ์ ์๋ ๊ธธ์ธ์ง ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์๋ค. โ
์ผ์ชฝ ๋ธ๋ญ๊ณผ์ ๋์ด ์ฐจ์ด(gap) ๊ณ์ฐ gap == 0 : ๋ค์ ์นธ์ผ๋ก ์ฌ๊ท gap == 1 : ์ผ์ชฝ ๋ธ๋ญ์ ๊ณ๋จ์ ๋์ ์ ์๋์ง ํ์ธํ ํ ๋ค์ ์นธ์ผ๋ก ์ฌ๊ท gap == -1 : ์ด๋ฉด ์ค๋ฅธ์ชฝ ๋ธ๋ญ์ ๊ณ๋จ์ ๋์ ์ ์๋์ง ํ์ธํ ํ ๊ณ๋จ ์ดํ ์นธ์ผ๋ก ์ฌ๊ท โ
๋ฐฑํธ๋ํน ์ข
๋ฃ(basecase) ์กฐ๊ฑด ๊ณ๋จ์ ๋ง์ง๋ง ๋ธ๋ญ..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
https://www.acmicpc.net/problem/16234 16234๋ฒ: ์ธ๊ตฌ ์ด๋ N×Nํฌ๊ธฐ์ ๋
์ด ์๊ณ , ๋
์ 1×1๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๋
์๋ ๋๋ผ๊ฐ ํ๋์ฉ ์กด์ฌํ๋ฉฐ, rํ c์ด์ ์๋ ๋๋ผ์๋ A[r][c]๋ช
์ด ์ด๊ณ ์๋ค. ์ธ์ ํ ๋๋ผ ์ฌ์ด์๋ ๊ตญ๊ฒฝ์ ์ด ์กด์ฌํ๋ค. ๋ชจ www.acmicpc.net ํ์ด์์ 0. ํ๋ฃจ๋ง๋ค NxNํฌ๊ธฐ์ ๋
์ ํ์ธํ๋ฉฐ ๊ตญ๊ฒฝ์ ํ๋ฌผ์๋์ง ํ์ธ while(true){ if(!solve()){ // ๊ตญ๊ฒฝ ํ๋ฌผ ์ ์๋์ง ํ์ธํ๊ณ ๊ตญ๊ฒฝ ํ๋ฌผ๊ณ ์ธ๊ตฌ์ ๊ฐฑ์ break; } ans+=1; } ํ๋ฃจ๋ง๋ค (0,0)์์ bfs๋ฅผ ์ํํ๋ฉฐ ๊ตญ๊ฒฝ์ ํ๋ฌผ๊ณ ์ธ๊ตฌ๋ฅผ ์ด๋์์ผฐ๋ค. static boolean solve(){ visited = new boolean[N][N];..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
ํน์ดํ bfs๋ฌธ์ ํต์ฌ ๋ก์ง 1. ๊ตฌ์ฌ์ ๋์์ ์์ง์ด๊ธฐ 2. ๋ฒฝ์ ๋ฟ๊ธฐ ์ง์ ๊น์ง ์ต๋ํ ์์ง์ด๊ธฐ 3. ๋นจ๊ฐ ๊ตฌ์ฌ๊ณผ, ํ๋ ๊ตฌ์ฌ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌ 1. ๊ตฌ์ฌ์ ๋์์ ์์ง์ด๊ธฐ ๋นจ๊ฐ๊ณต๊ณผ ํ๋๊ณต์ ์ขํ๋ฅผ ๊ฐ์ด ๊ฐ์ง๊ณ ์๋ Marble ํด๋์ค๋ฅผ ๋ง๋ค์๋ค. class Marble{ private int redRow,redCol,blueRow,blueCol; public Marble(){} public Marble(int redRow, int redCol, int blueRow, int blueCol){ this.redRow = redRow; this.redCol = redCol; this.blueRow = blueRow; this.blueCol = blueCol; } public int getRedRow()..
๐ฅ์ฝ๋ฉํ
์คํธ:Algorithm
๊ฐ์ ์ค์ฌ ์๊ณ ๋ฆฌ์ฆ ๐ ๊ทธ๋ํ๋ค์ ์์ง ๋ฆฌ์คํธ๋ก ๊ตฌํ ์์ ๊ฐ์ ์ด ํฌํจ๋ ์ํฉ์์์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ฌธ์ ์ ์ฌ์ฉ. ์์ ๊ฐ์ ์ ์ํ์ ๊ฐ์งํ ์ ์์. ๋งค๋ฒ ๋ชจ๋ ๊ฐ์ ์ ์ ๋ถ ํ์ธ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ฆฌ์คํธ์์ ์
๋ฐ์ดํธ ๋ฐ๋ณต ํ์๋ V - 1 ์๊ฐ๋ณต์ก๋ : O(VE), ๋ค์ต์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๋นํด ๋๋ฆฌ๋ค ์์๊ฐ์ ์ด ์์ด๋ ์ํ์ด ๋ฐ์ํ์ง ์๋๋ค๋ฉด ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ ์ ์๋ค. (์์๊ฐ์ ์ ์ํ์ด ๋ฐ์ํ๋ฉด ์ต๋จ๊ฑฐ๋ฆฌ๊ฐ ์์ ๋ฌดํ์ธ ๋
ธ๋๊ฐ ๋ฐ์ํ๊ฒ ๋จ) ๋์์๋ฆฌ 1. ์ถ๋ฐ ๋
ธ๋๋ฅผ ์ค์ 2. ์ต๋จ ๊ฑฐ๋ฆฌ ํ
์ด๋ธ์ ์ด๊ธฐํ 3. ๋ค์์ ๊ณผ์ ์ N-1 ๋ฒ ๋ฐ๋ณต 3-1. ์ ์ฒด ๊ฐ์ E๊ฐ๋ฅผ ํ๋์ฉ ํ์ธ 3-2. ๊ฐ ๊ฐ์ ์ ๊ฑฐ์ณ ๋ค๋ฅธ ๋
ธ๋๋ก ๊ฐ๋ ๋น์ฉ์ ๊ณ์ฐํ์ฌ ์ต๋จ๊ฑฐ๋ฆฌ ํ
์ด๋ธ์ ๊ฐฑ์ 4. ๋ง์ฝ ์์ ๊ฐ์ ์ํ์ด ๋ฐ์ํ๋์ง ์ฒดํฌํ๊ณ ์ถ๋ค๋ฉด 3..