๋ฌธ์ : ๋ฐฑ์ค 1260๋ฒ _ DFS์ BFS ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 128 MB 87845 28912 16832 31.543% ๋ฌธ์ ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก..
๋ฌธ์ ๊ฐ์ฅ ๋ฉค๋ฒ๊ฐ ๋ง์ ์์ด๋ ๊ทธ๋ฃน์ผ๋ก ๊ธฐ๋ค์ค ๋ถ์ ์ฌ๋ผ ์๋ ํผ์ฑ ํ ๊ทธ๋ฃน ํ์ดํผ์๋์ด๊ฐ ๋ฐ๋ท 10์ฃผ๋ ๊ธฐ๋ ํฌ ๋ฏธํ ์ ๊ฐ์ตํ์ต๋๋ค. ํฌ ๋ฏธํ ์ ํ ์์๋ก, ๋ฉค๋ฒ๋ค๊ณผ ์ฐธ๊ฐํ ํฌ๋ค์ด ํฌ์น์ ํ๋ ํ์ฌ๋ฅผ ๊ฐ๊ธฐ๋ก ํ์ต๋๋ค. ํ์ดํผ์๋์ด์ ๋ฉค๋ฒ๋ค์ ์ฐ์ ๋ฌด๋์ ์ผ๋ ฌ๋ก ์ญ๋๋ค. ํฌ ๋ฏธํ ์ ์ฐธ๊ฐํ M๋ช ์ ํฌ๋ค์ ์ค์ ์์ ๋งจ ์ค๋ฅธ์ชฝ ๋ฉค๋ฒ์์๋ถํฐ ์์ํด ํ ๋ช ์ฉ ์ผ์ชฝ์ผ๋ก ์์ง์ด๋ฉฐ ๋ฉค๋ฒ๋ค๊ณผ ํ๋์ฉ ํฌ์น์ ํฉ๋๋ค. ๋ชจ๋ ํฌ๋ค์ ๋์์ ํ ๋ช ์ฉ ์์ง์ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ ํ์ฌ ๊ณผ์ ์ ์ผ๋ถ๋ฅผ ๋ณด์ฌ์ค๋๋ค. a~d๋ ๋ค ๋ช ์ ํ์ดํผ์๋์ด ๋ฉค๋ฒ๋ค์ด๊ณ , 0~5๋ ์ฌ์ฏ ๋ช ์ ํฌ๋ค์ ๋๋ค. ํ์ง๋ง ํ์ดํผ์๋์ด์ ๋จ์ฑ ๋ฉค๋ฒ๋ค์ด ๋จ์ฑ ํฌ๊ณผ ํฌ์นํ๊ธฐ๊ฐ ๋ฏผ๋งํ๋ค๊ณ ์ฌ๊ฒจ์, ๋จ์ฑ ํฌ๊ณผ๋ ํฌ์น ๋์ ์ ์๋ฅผ ํ๊ธฐ๋ก ํ์ต๋๋ค. ์ค์ ์ ๋ฉค๋ฒ๋ค๊ณผ ํฌ๋ค..
์ธ๊ทธ๋จผํธ ํธ๋ฆฌ https://www.acmicpc.net/blog/view/9 ๋ฐฑ์ค๋ ๊ธ ๋ฐฐ์ด ํฌ๊ธฐ ๊ฒฐ์ ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ C++์ ๊ฒฝ์ฐ, vector ์๋ฃํ์ ์ฌ์ฉํ๋๋ฐ python์ผ๋ก ๊ตฌํํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ผ๋ง๋ ๋์ด์ผ ํ ์ง ๊ฐ๋ ํ๊ธฐ ์ํด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํด๋ณด์. 2์ ์ ๊ณฑ ์๊ฐ ๋ฆฌํ ๋ ธ๋์ ์(n)๋ก ์ฃผ์ด์ง๋ค๋ฉด ( ๋ถ์ํด์ผํ data ๊ฐฏ์๊ฐ 2์ ์ ๊ณฑ ์๋ผ๋ฉด ) ๊ฐ ๋จ๊ณ๋ง๋ค 1/2์ฉ ์ค์ด๋๊ฐ๋ฏ๋ก log(n)์ด ํ์ํ ์ด ๋จ๊ณ(ํ์ดํ)๊ฐ ๋๊ณ ์ ์ฒด ์ธต์ ๊ฐฏ์, ์ฆ ๋์ด(h)๋ log(n)+1์ด ๋๋ค. ์ต์์ ๋ ธ๋๋ถํฐ 2^(0)๊ฐ์ ๋ ธ๋๋ก ์์ํ์ฌ ์ธต์ด ์ฆ๊ฐํ ์๋ก 2์ ์ง์ ๋ํ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฝ์ฐฌ ์ด์ค ํธ๋ฆฌ(full binary tree)์ ์ด ๋ ธ๋ ..
https://www.acmicpc.net/problem/5620 ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 1 ์ด 256 MB 1700 558 294 40.664% ๋ฌธ์ ํ๋ฉด์์ n๊ฐ์ ์ (P1, .... , Pn) ์ด ๋์ฌ์ ธ์๋ค๊ณ ํ์ ๋, ๊ฑฐ๋ฆฌ๊ฐ ์ต์์ธ ๋ ๊ฐ์ ์ ์ ๊ตฌํ๊ณ ๊ทธ ๊ฑฐ๋ฆฌ๋ฅผ ์๊ณ ์ถ๋ค. ์ ๋ ฅ ์ ๋ ฅ์ ์ฒซ ๋ฒ์งธ ์ค์ ์ ์๋ก ๋ ์ ์ ๊ฐ์ n์ด ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ n+1๋ฒ์งธ ์ค๊น์ง 2๊ฐ์ ์ ์ x,y๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. i+1๋ฒ์งธ ์ค์ Pi ์ x,y ์ขํ๋ฅผ ์๋ฏธํ๊ณ n๊ฐ์ ์ ์ ๋ํด์ ์ฃผ์ด์ง๊ฒ ๋๋ค. ์ ์ ๊ฐ์๋ 2 โฆ n โฆ 500000 , ์ขํ์ ๋ฒ์๋ -10000 โฆ x,y โฆ10000๋ก ์ฃผ์ด์ง๋ค. ๋ํ, ๋ชจ๋ ์ ์ ์ขํ๋ ๊ฐ์ ๊ฒ์ด ์์ด ๋ค๋ฅธ ๊ฒ์ผ๋ก ..
๋ฌธ์ ํ์๋ 2์ฐจ์ ๋ฐฐ์ด (ํญ์ 2^N * 2^N ํฌ๊ธฐ์ด๋ค)์ Z๋ชจ์์ผ๋ก ํ์ํ๋ ค๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 2*2๋ฐฐ์ด์ ์ผ์ชฝ ์์นธ, ์ค๋ฅธ์ชฝ ์์นธ, ์ผ์ชฝ ์๋์นธ, ์ค๋ฅธ์ชฝ ์๋์นธ ์์๋๋ก ๋ฐฉ๋ฌธํ๋ฉด Z๋ชจ์์ด๋ค. ๋ง์ฝ, 2์ฐจ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 2^N * 2^N๋ผ์ ์ผ์ชฝ ์์ ์๋ ์นธ์ด ํ๋๊ฐ ์๋๋ผ๋ฉด, ๋ฐฐ์ด์ 4๋ฑ๋ถ ํ ํ์ (ํฌ๊ธฐ๊ฐ ๊ฐ์ 2^(N-1)๋ก) ์ฌ๊ท์ ์ผ๋ก ์์๋๋ก ๋ฐฉ๋ฌธํ๋ค. ๋ค์ ์๋ 2^2 * 2^2 ํฌ๊ธฐ์ ๋ฐฐ์ด์ ๋ฐฉ๋ฌธํ ์์์ด๋ค. N์ด ์ฃผ์ด์ก์ ๋, (r, c)๋ฅผ ๋ช ๋ฒ์งธ๋ก ๋ฐฉ๋ฌธํ๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ค์ ๊ทธ๋ฆผ์ N=3์ผ ๋์ ์์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ N r c๊ฐ ์ฃผ์ด์ง๋ค. N์ 15๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , r๊ณผ c๋ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 2^N-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค ์ถ๋ ฅ..
https://www.acmicpc.net/problem/4811 ๋ฌธ์ 70์ธ ๋ฐ์ข ์ ํ ์๋ฒ์ง๋ ๋งค์ผ ๋งค์ผ ์ฝ ๋ฐ์์ ๋จน๋๋ค. ์๋ ์ ์์ด๋ ์ข ์ ํ ์๋ฒ์ง์๊ฒ ์ฝ์ด N๊ฐ ๋ด๊ธด ๋ณ์ ์ ๋ฌผ๋ก ์ฃผ์๋ค. ์ฒซ์งธ ๋ ์ ์ข ์๋ ๋ณ์์ ์ฝ ํ๋๋ฅผ ๊บผ๋ธ๋ค. ๊ทธ ๋ค์, ๊ทธ ์ฝ์ ๋ฐ์ผ๋ก ์ชผ๊ฐ์ ํ ์กฐ๊ฐ์ ๋จน๊ณ , ๋ค๋ฅธ ์กฐ๊ฐ์ ๋ค์ ๋ณ์ ๋ฃ๋๋ค. ๋ค์ ๋ ๋ถํฐ ์ข ์๋ ๋ณ์์ ์ฝ์ ํ๋ ๊บผ๋ธ๋ค. (์ฝ์ ํ ์กฐ๊ฐ ์ ์ฒด ์ผ ์๋ ์๊ณ , ์ชผ๊ฐ ๋ฐ ์กฐ๊ฐ ์ผ ์๋ ์๋ค) ๋ฐ ์กฐ๊ฐ์ด๋ผ๋ฉด ๊ทธ ์ฝ์ ๋จน๊ณ , ์๋๋ผ๋ฉด ๋ฐ์ ์ชผ๊ฐ์ ํ ์กฐ๊ฐ์ ๋จน๊ณ , ๋ค๋ฅธ ์กฐ๊ฐ์ ๋ค์ ๋ณ์ ๋ฃ๋๋ค. ์ข ์๋ ์๋ ์๊ฒ ํ ์กฐ๊ฐ์ ๊บผ๋ธ ๋ ์๋ W๋ฅผ, ๋ฐ ์กฐ๊ฐ์ ๊บผ๋ธ ๋ ์๋ H ๋ณด๋ธ๋ค. ์๋ ๋ ํ ์๋ฒ์ง์๊ฒ ๋ฐ์ ๋ฌธ์๋ฅผ ์ข ์ด์ ๊ธฐ๋กํด ๋๋๋ค. ์ด 2N์ผ์ด ์ง๋๋ฉด ๊ธธ์ด๊ฐ 2N์ธ..
Comment