๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

1513 ๋ฌธ์ œ์—์„œ ์™œ 4์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜?

๊ฐœ์ธ์ ์ธ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ์“ด๊ธ€์ด๋ฏ€๋กœ ์ดํ•ด๊ฐ€ ์•ˆ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  DP ๋ฐฐ์—ด์„ 3์ฐจ์›์œผ๋กœ ์ •์˜ํ–ˆ๋‹ค.

 

DP[c][n][m]  ์ด๋ ‡๊ฒŒ ์ •์˜ํ•˜๋ฉด, c๊ฐ€ 0์ผ ๋•Œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋จผ์ € ๊ตฌํ•ด๋†“๊ณ , c๊ฐ€ 1์ผ ๊ฒฝ์šฐ DFS๋กœ ๊ณ„์† ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ์˜ค๋ฝ์‹ค์„ ๋งŒ๋‚˜๋ฉด ๋‹ค์Œ ํ˜ธ์ถœ๋ถ€ํ„ฐ๋Š” c๋ฅผ 0์œผ๋กœ ๋งŒ๋“ค์–ด [0][y][x]๋ฅผ ํƒ์ƒ‰ํ•˜๋Š”๋ฐ, ๋งŒ์•ฝ dp[0][y][x]๊ฐ€ ์ด๋ฏธ ๊ฐ”๋˜ ๊ณณ์ด๋ฉด ํ•ด๋‹น ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์ง€์†์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์—†์–ด๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ, c๊ฐ€ 2๊ฐ€ ๋˜๋ฉด์€ ๋ฐ˜๋ก€๊ฐ€ ๋ณด์ธ๋‹ค.

 

๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง€๋Š” ์˜ˆ์ œ๋กœ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์ž.

3 3 2
2 2
3 2

 

๊ทธ๋Ÿผ c๊ฐ€ 1์ผ ๋•Œ ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 3๊ฐœ์ด๋‹ค.

(1, 1) -> (1, 2) -> (2, 2) -> (2, 3) -> (3, 3)
(1, 1) -> (2, 1) -> (2, 2) -> (2, 3) -> (3, 3)
(1, 1) -> (2, 1) -> (3, 1) -> (3, 2) -> (3, 3)

 

 

์ด์ œ, c๊ฐ€ 2์ผ ๋•Œ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ์œ„์—์„œ ์˜ค๋ฝ์‹ค์„ ๋งŒ๋‚˜๋ฉด ๋‹ค์Œ ํ˜ธ์ถœ๋ถ€ํ„ฐ๋Š” c๋ฅผ -1ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋Ÿผ (2, 2)๋‚˜ (3, 1)์„ ๋งŒ๋‚œ ๋‹ค์Œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ๋Š”  dp[1][y][x] ๋กœ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋งŒ์•ฝ 1๋ฒˆ์งธ ์˜ค๋ฝ์‹ค ์œ„์น˜์—์„œ (r, c+1)์ธ (2, 3)์„ ํ˜ธ์ถœํ–ˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

 

dp[1][2][3]์€ 1์ด ์ง€๋‚˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜์ธ 2๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‹ค์ œ๋กœ 2๊ฐœ์˜ ์˜ค๋ฝ์‹ค ๋ชจ๋‘๋ฅผ ์ง€๋‚˜๋Š” ์ƒํ™ฉ์ด ์ผ์ฒด ์ผ์–ด๋‚  ์ˆ˜ ์—†๋Š” ์ขŒํ‘œ์ž„์—๋„ 2๊ฐœ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ์ฆ‰, 3๊ฐœ์˜ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“  3์ฐจ์› DP ๋ฐฐ์—ด๋กœ๋Š” ํ•ด๋‹น ์ขŒํ‘œ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ์˜ค๋ฝ์‹ค์ด ์ง€๋‚˜๊ฐ”๋Š”์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž๊ธฐ ์ž์‹ ์ด ์ง€๋‚˜๊ฐ„ ๊ธธ์ž„์—๋„ ๊ฒฝ์šฐ์˜ ์ˆ˜์— ๋”ํ•ด์ง€๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ 4์ฐจ์› DP ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด c์˜ ์ƒํƒœ์— ๋”ฐ๋ผ i๋ฒˆ์งธ ์˜ค๋ฝ์‹ค์ด ์ง€๋‚˜๊ฐ„ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด c๊ฐ€ 2์ผ ๋•Œ 1๋ฒˆ์งธ ์˜ค๋ฝ์‹ค์„ ๋ฐŸ๊ณ  ๋‹ค์Œ ํ˜ธ์ถœ์ธ (2, 3)์€ c๊ฐ€ 1, ์ตœ๊ทผ ๋ฐŸ์€ ์˜ค๋ฝ์‹ค ๋ฒˆํ˜ธ๊ฐ€ 1์ด ๋˜์–ด ํ˜ธ์ถœ๋œ๋‹ค. ๊ทธ๋Ÿผ, dp[c=1][prev=1][y=2][x=3] ๋Š” ์• ์ดˆ์— ๊ฐฑ์‹ ๋˜์ง€ ์•Š์€ ๊ฐ’์ด๋ฏ€๋กœ dp[c=1][prev=1][3][3] ๊นŒ์ง€ ํ˜ธ์ถœ๋˜๊ณ  ์—ฌ๊ธฐ์„œ c๊ฐ€ 0์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— 0์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฒฝ์šฐ์˜ ์ˆ˜์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

 

๋ฐ˜๋Œ€๋กœ dp[c=1][prev=1][y=3][x=2] ์ธ ๊ฒฝ์šฐ๋กœ ๊ฐ”๋‹ค๋ฉด ํ˜„์žฌ ๋‹น์žฅ dp์— ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ์ง€ ์•Š์•„ ํƒ์ƒ‰์„ ๋” ์‹œ์ž‘ํ•˜์ง€๋งŒ, ๋‹ค์Œ ํ˜ธ์ถœ๋ถ€ํ„ฐ dp[c=0][prev=2][y=3][x=3] ์™€ ๊ฐ™์ด c๊ฐ€ 0์ผ ๋•Œ 2๋ฅผ ํ†ตํ•ด ์ง€๋‚˜๊ฐ„ ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ฆ‰, c๊ฐ€ 1์ผ ๋•Œ 2๋ฅผ ํ†ตํ•ด ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ๊ฒฐ๊ตญ ์˜ค๋ฝ์‹ค1๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ธธ์„ ๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.