7.2 ๋ฌธ์ : ์ฟผ๋ ํธ๋ฆฌ ๋ค์ง๊ธฐ (๋ฌธ์ ID:QUADTREE, ๋์ด๋: ํ) ๋๋์ ์ขํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์์ ์์ถํด ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ฌ๋ฌ ๊ธฐ๋ฒ ์ค ์ฟผ๋ ํธ๋ฆฌ๋ ๊ฒ์ด ์์ต๋๋ค. ์ฃผ์ด์ง ๊ณต๊ฐ์ ํญ์ 4๊ฐ๋ก ๋ถํ ํด ์ฌ๊ท์ ์ผ๋ก ํํํ๊ธฐ ๋๋ฌธ์ ์ฟผ๋ ํธ๋ฆฌ๋ผ๋ ์ด๋ฆ์ด ๋ถ์๋๋ฐ, ์ด์ ์ ๋ช ํ ์ฌ์ฉ์ฒ ์ค ํ๋๋ ๊ฒ์ ์๊ณผ ํฐ ์๋ฐ์ ์๋ ํ๋ฐฑ ๊ทธ๋ฆผ์ ์์ถํด ํํํ๋ ๊ฒ์ ๋๋ค. ์ฟผ๋ ํธ๋ฆฌ๋ 2^N*2^N ํฌ๊ธฐ์ ํ๋ฐฑ ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ ๋ฌธ์์ด๋ก ์์ถํฉ๋๋ค. ์ด ๊ทธ๋ฆผ์ ๋ชจ๋ ํฝ์ ์ด ๊ฒ์ ์์ผ ๊ฒฝ์ฐ ์ด ๊ทธ๋ฆผ์ ์ฟผ๋ ํธ๋ฆฌ ์์ถ ๊ฒฐ๊ณผ๋ ๊ทธ๋ฆผ์ ํฌ๊ธฐ์ ๊ด๊ณ์์ด b๊ฐ ๋ฉ๋๋ค. ์ด ๊ทธ๋ฆผ์ ๋ชจ๋ ํฝ์ ์ด ํฐ ์์ผ ๊ฒฝ์ฐ ์ด ๊ทธ๋ฆผ์ ์ฟผ๋ ํธ๋ฆฌ ์์ถ ๊ฒฐ๊ณผ๋ ๊ทธ๋ฆผ์ ํฌ๊ธฐ์ ๊ด๊ณ์์ด w๊ฐ ๋ฉ๋๋ค. ๋ชจ๋ ํฝ์ ์ด ๊ฐ์ ์์ด ..
7. ๋ถํ ์ ๋ณต 7.1 ๋์ ๋ถํ ์ ๋ณต( Divide & Conquer)์ ๊ฐ์ฅ ์ ๋ช ํ ์๊ณ ๋ฆฌ์ฆ ๋์์ธ ํจ๋ฌ๋ค์์ผ๋ก, ๊ฐ๊ฐ ๊ฒฉํ๋ผ๊ณ ์ค๋ช ํ ์ ์์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋ ์ด์์ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋ ํ, ์ฌ๊ท ํธ์ถ์ ์ด์ฉํด ๊ฐ๊ฐ์ ๋ต์ ๊ณ์ฐํ๊ณ , ๋ถ๋ถ ๋ฌธ์ ์ ๋ต์ ์ด์ฉํด ์ ์ฒด์ ๋ต์ ๊ณ์ฐํ๋ ๋ฐฉ์ ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์ฑ divide ๋ฌธ์ ๋ฅผ ๋ ์์ ๋ฌธ์ ๋ก ๋ถํ merge ๊ฐ ๋ฌธ์ ์ ๋ต์ ์ ์ฒด ๋ฌธ์ ์ ๋ต์ผ๋ก ๋ณํฉ base case ๋์ด์ ๋ต์ ๋ถํ ํ์ง ์๊ณ ํ ์ ์๋ ๋งค์ฐ ์์ ๋ฌธ์ ์ ์ฉ๊ฐ๋ฅํ ๋ฌธ์ ์ ํน์ฑ ๋ฌธ์ ๋ฅผ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋๋ ์์ฐ์ค๋ฌ์ด ๋ฐฉ๋ฒ์ด ์กด์ฌํด์ผํจ ๋ถ๋ถ ๋ฌธ์ ์ ๋ต์ ์กฐํฉํด ์ ์ฒด ๋ฌธ์ ์ ๋ต์ ๊ณ์ฐํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ด์ผํจ ์ฅ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์์ ์์ ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํด์ค ์์ : ์์ด์ ๋น ๋ฅธ ํฉ๊ณผ ํ๋ ฌ์ ๋น ๋ฅธ..
6.8 ๋ฌธ์ : ์๊ณ ๋ง์ถ๊ธฐ (๋ฌธ์ ID: CLOCKSYNC, ๋์ด๋: ์ค) ๋ฌธ์ 4x4 ๊ฒฉ์ ํํ๋ก ๋ฐฐ์น๋ ์ด์ฌ์ฏ ๊ฐ์ ์๊ณ๊ฐ ์์ต๋๋ค. ์ด ์๊ณ๋ค์ ๋ชจ๋ 12์, 3์, 6์, ํน์ 9์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋๋ฐ, ์ด ์๊ณ๋ค์ด ๋ชจ๋ 12์๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๋ฐ๊พธ๊ณ ์ถ์ต๋๋ค. ์๊ณ์ ์๊ฐ์ ์กฐ์ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ด ๊ฐ์ ์ค์์น๋ค์ ์กฐ์ํ๋ ๊ฒ์ผ๋ก, ๊ฐ ์ค์์น๋ค์ ๋ชจ๋ ์ ๊ฒ๋ ์ธ ๊ฐ์์ ๋ง๊ฒ๋ ๋ค์ฏ ๊ฐ์ ์๊ณ์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ํ ์ค์์น๋ฅผ ๋๋ฅผ ๋๋ง๋ค, ํด๋น ์ค์์น์ ์ฐ๊ฒฐ๋ ์๊ณ๋ค์ ์๊ฐ์ 3์๊ฐ์ฉ ์์ผ๋ก ์์ง์ ๋๋ค. (12์์ผ๋๋ 3์๋ก, 3์=>6์, 6์ =>9์, 9์=>12์) ์ค์์น๋ค๊ณผ ๊ทธ๋ค์ด ์ฐ๊ฒฐ๋ ์๊ณ๋ค์ ๋ชฉ๋ก์ด ์ฃผ์ด์ง๊ณ ํ์ฌ ๊ฐ๋ฆฌํค๋ ์๊ฐ๋ค์ด ์ฃผ์ด์ก์ ๋ ๋ชจ๋ ์๊ณ๋ฅผ 12์๋ก ๋๋ฆฌ๊ธฐ ์ํด ์ต์ํ ..
6.5 ๋ฌธ์ : ๊ฒ์ํ ๋ฎ๊ธฐ (๋ฌธ์ ID: BOARDCOVER, ๋์ด๋: ํ) ๋ฌธ์ H X W ํฌ๊ธฐ์ ๊ฒ์ํ์ด ์์ต๋๋ค. ๊ฒ์ํ์ ๊ฒ์ ์นธ๊ณผ ํฐ ์นธ์ผ๋ก ๊ตฌ์ฑ๋ ๊ฒฉ์ ๋ชจ์์ ํ๊ณ ์๋๋ฐ ์ด ์ค ๋ชจ๋ ํฐ ์นธ์ ์ธ ์นธ์ง๋ฆฌ L์ ๋ชจ์์ ๋ธ๋ก์ผ๋ก ๋ฎ๊ณ ์ถ์ต๋๋ค. ์ด๋ ๋ธ๋ก๋ค์ ์์ ๋กญ๊ฒ ํ์ ํด์ ๋์ ์ ์์ง๋ง, ์๋ก ๊ฒน์น๊ฑฐ๋, ๊ฒ์ ์นธ์ ๋ฎ๊ฑฐ๋, ๊ฒ์ํ ๋ฐ์ผ๋ก ๋๊ฐ์๋ ์ ๋ฉ๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ ํ ๊ฒ์ํ๊ณผ ์ด๋ฅผ ๋ฎ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๊ฒ์ํ์ด ์ฃผ์ด์ง ๋ ์ด๋ฅผ ๋ฎ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๊ฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ ํ ํ๋ก๊ทธ๋จ์ 2์ด ์์ ์คํ๋์ด์ผ ํ๋ฉฐ, 64MB ์ดํ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ๋ง ํฉ๋๋ค. ์ ๋ ฅ ์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ์ C(C=0 and tmp[0]=0 and tmp[1]=0 ..
6.3 ๋ฌธ์ : ์ํ (๋ฌธ์ ID: PICNIC, ๋์ด๋: ํ) ๋ฌธ์ ์๋๋ก๋ฉ๋ค ์ ์น์ ์ต์คํ๋ ์ค๋ฐ์์๋ ๋ค์ ์ฃผ์ ์จ๋๊ณต์์ผ๋ก ์ํ์ ๊ฐ๋๋ค. ์์ ์ ์๋์ ์ํ ๋ ํ์๋ค์ ๋ ๋ช ์ฉ ์ง์ ์ง์ด ํ๋ํ๊ฒ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์๋ก ์น๊ตฌ๊ฐ ์๋ ํ์๋ค๋ผ๋ฆฌ ์ง์ ์ง์ด ์ฃผ๋ฉด ์๋ก ์ธ์ฐ๊ฑฐ๋ ๊ฐ์ด ๋์๋ค๋์ง ์๊ธฐ ๋๋ฌธ์, ํญ์ ์๋ก ์น๊ตฌ์ธ ํ์๋ค๋ผ๋ฆฌ๋ง ์ง์ ์ง์ด์ผ ํฉ๋๋ค. ๊ฐ ํ์๋ค์ ์์ ๋ํด ์ด๋ค์ด ์๋ก ์น๊ตฌ์ธ์ง ์ฌ๋ถ๊ฐ ์ฃผ์ด์ง ๋, ํ์๋ค์ ์ง ์ง์ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์ง์ด ๋๋ ํ์๋ค์ด ์ผ๋ถ๋ง ๋ค๋ฅด๋๋ผ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ด ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๋ก ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋๋ค. (ํ์ฐ,์ ์์นด)(์จ๋,ํฐํ๋)(ํจ์ฐ,์ ๋ฆฌ) (ํ์ฐ,์ ์์นด)(์จ๋,์ ๋ฆฌ)(ํจ์ฐ, ํฐํ๋) ์..
์์ : ๋ณด๊ธ ๊ฒ์ (๋ฌธ์ ID: BOGGLE, ๋์ด๋: ํ) ๋ฌธ์ 5*5 ํฌ๊ธฐ์ ์ํ๋ฒณ ๊ฒฉ์๋ฅผ ๊ฐ์ง๊ณ ํ๋ ๊ฒ์. ๊ฒ์์ ๋ชฉ์ ์ ์ํ์ข์ฐ / ๋๊ฐ์ ์ผ๋ก ์ธ์ ํ ์นธ๋ค์ ๊ธ์๋ค์ ์ด์ด์ ๋จ์ด๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ ๋๋ค. ๊ฐ ๊ธ์๋ค์ ๋๊ฐ์ ์ผ๋ก๋ ์ด์ด์ง ์ ์์ผ๋ฉฐ, ํ ๊ธ์๊ฐ ๋ ๋ฒ ์ด์ ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค. ์ฃผ์ด์ง ์นธ์์ ์์ํด์ ํน์ ๋จ์ด๋ฅผ ์ฐพ์ ์ ์๋์ง ํ์ธํ๋ ๋ฌธ์ ๋ฅผ ํ์ด ๋ด ์๋ค. ์ ๋ ฅ 1 1 PRETTY ์ถ๋ ฅ True ํ์ด ๊ฐ๋จํ ๋ฐฉ๋ฒ ์๊ฐ ์์ ํ์ ๋ฌธ์ ๋ถํ ์ฒซ ๊ธ์ ์ฐพ๊ธฐ => ๋ค์ ๊ธ์๋ฅผ ์ฃผ๋ณ์์ ์ฐพ๊ธฐ ๊ธฐ์ ์ฌ๋ก ์ ํ ๋ ์ด์์ ํ์ ์์ด ๊ฐ๋จํ ๋ต์ ๋ผ ์ ์๋ ๊ฒฝ์ฐ ์ฒ์ ์ฃผ์ด์ง ์์น๊ฐ ์ํ๋ ๋จ์ด์ ์ฒซ ๊ธ์๊ฐ ์๋ ๊ฒฝ์ฐ ์คํจ 1์ ํด๋นํ์ง ์๊ณ ์ํ๋ ๋จ์ด๊ฐ 1๊ธ์์ธ ๊ฒฝ์ฐ ์ฑ๊ณต ๋์ ์์๋ ๋ฐ๋..
๋ฌธ์ : ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต [๋กํ์คํฐ๋ฒ] p6 ๋ฌธ์ ์ปค๋ค๋ ๊ณต์ฐ์ฅ์ ๋น๋ ค์ ๋ก ํ์คํฐ๋ฒ์ ๊ฐ์ตํ๋ ค๊ณ ํฉ๋๋ค. ์ด ํ์คํฐ๋ฒ์ ์ฌ๋ฌ ๋ ๋์ ์งํ๋๋ฉฐ, ํ๋ฃจ์ ํ ํ์ ๋ฐด๋๊ฐ ๊ณต์ฐ์ฅ์์ ์ฝ์ํธ๋ฅผ ํ๊ฒ ๋ฉ๋๋ค. ์ ์ฒด ๋ฐด๋๋ฅผ ๋ช ํ ์ญ์ธํ ์ง๋ ์์ง ๊ฒฐ์ ํ์ง ์์์ง๋ง, ํ์คํฐ๋ฒ์ ๊ฐํ ์คํ์ธ L๊ฐ์ ํ์ ์ด๋ฏธ ์ญ์ธ๊ฐ ๋๋ ์ํ์ ๋๋ค. ๋ฐ๋ผ์ ํ์คํฐ๋ฒ์ ์ต์ L์ผ ์ด์ ์งํํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฒ์ ์ฌ์ฉํ ๊ณต์ฐ์ฅ์ ํ๋ฃจ ๋น๋ฆฌ๋ ๋ฐ ๋๋ ๋น์ฉ์ด ๋งค์ผ ๋งค์ผ ๋ค๋ฆ ๋๋ค. ๋๋ฌธ์ ๊ณต์ฐ ์ผ์ ์ ์ ์ ํด์ ๊ณต์ฐ์ฅ ๋์ฌ ๋น์ฉ์ ์ค์ด๋ ค๊ณ ํฉ๋๋ค. ์์ผ๋ก N์ผ๊ฐ์ ๊ณต์ฐ์ฅ ๋์ฌ ๋น์ฉ์ ์๊ณ ์๋ค๊ณ ํฉ์๋ค. ์ด ์ค L์ผ ์ด์์ ์ฐ์ํด์ ๋์ฌํ๋, ๊ณต์ฐ์ฅ์ ํ๋ฃจ ๋น๋ฆฌ๋ ๋ฐ ๋๋ ํ๊ท ๋น์ฉ์ ์ต์ํํ๋ ค๋ฉด ์ด๋ป๊ฒ ๊ณต์ฐ์ฅ์ ๋น๋ ค์ผ ํ ๊น์?..
๋จธ๋ฆฌ๋ง ์ฒ์๋ถํฐ ์์ ํ ์ฒด๊ณ๋ฅผ ๊ฐ์ถ๊ณ ๋ฐ์ ํ๋ ํ๋ฌธ์ ์์ผ๋ฏ๋ก, ๋ฐ์ ๊ณผ์ ์์ ํ์๋ค์ ๋ชจ๋ ์ด๋ ์์์ ์ง๊ด์ ์์กดํด ํค๋งค๊ฒ ๋๋ค.(์ฝ์งํ๋ค.) 1. ๋ฌธ์ ํด๊ฒฐ๊ณผ ํ๋ก๊ทธ๋๋ฐ ๋ํ 1.1 ๋์ ๋ฉ๋ชจ๋ฆฌ, ์๊ฐ ์ ํ, ์ฌ์ฌ์ฉ์ฑ, ๊ฐ๊ฒฐ์ฑ ์ ๊ณ ๋ คํด์ผํจ ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด๊ณผ ์๊ตฌ์ฌํญ์ ์ดํดํ๊ณ ์ต์ ์ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด๋ ๊ฒ์ด '๋ฌธ์ ํด๊ฒฐ๋ฅ๋ ฅ' 1.2 ํ๋ก๊ทธ๋๋ฐ ๋ํ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค x ํ ์คํธ => ํ ์คํธ ์๊ฐ ์ ํ, ๋ฉ๋ชจ๋ฆฌ ์ ํ ์กด์ฌ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ๊ธฐ๋ฒ, ์๋ฃ๊ตฌ์กฐ ์ฌ์ฉ ์ ๋ต, ์ค๋ต์ ์ฌ๋ถ๊ฐ ๋ช ํ ๋น ๋ฅด๊ณ ๊ฐ๊ด์ ์ธ ํผ๋๋ฐฑ์ ์ฃผ๊ธฐ ๋๋ฌธ ์ ์ถํ ํ๋ก๊ทธ๋จ์ ์คํ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ๊ณต ์์ ๋ณ๊ฒฝ์ด ์ด๋ป๊ฒ ์ํฅ์ ๋ผ์น๋์ง ๋ณผ ์ ์์ ์์ ์์ ์ด๋ผ ์๋ฒฝํ๊ฒ ์์ฑํ ์ ์์ ๊ฒฝ์ํ๋ ํ๊ฒฝ ๊ฒฝ์์ ๋๊ธฐ๊ฐ ๋๊ธฐ๋ ํจ ์ ์ถ..
Comment