๋ฌธ์ ์๋ง๋ค ์ฐ์ฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๊ฒฝ์ฌ์จ๋ ์ ๋ ์ฝ์์ ๊ฐ๊ธฐ ์ ์ฑ๊ธฐ์ง ์์ ๋ฌผ๊ฑด๋ค์ด ์๋ ์ง ํ์ธํ๊ณ ์๋ค. ํ์ํ ๋ฌผ๊ฑด์ ์ ๋ถ ์ฑ๊ธด ๊ฒ ๊ฐ์๊ณ ์ธ์ถ ํ ๋์์ค๋ ๊ธธ์ ๊ฒฝ์ฌ์จ๋ ์ธ์ณค๋ค. "์ ๋ง๋ค ์ฐ์ฐ!!!" ๊ฒฝ์ฌ ์จ๋ ๋งค๋ฒ ์ธ์ถํ๊ณ ๋์์ผ ์ด๋ค ๋ฌผ๊ฑด์ ์ง์ ๋๊ณ ์๋ค๋ ๊ฒ์ ๋ ์ฌ๋ฆด ๋๋ง๋ค ์์ฑ ๊ฐ์ ์๋ฌ๋ฆฌ๋ ๊ฒ์ด ๋๋ฌด ์ซ์๋ค. ์ธ์ถ์ด ์ฆ์ ๊ฒฝ์ฌ ์จ๋ ๋ฐ๋ณต๋๋ ์ผ์ ๊ทผ์ ํ๊ธฐ ์ํด ๊ผญ ์ฑ๊ฒจ์ผ ํ ๋ฌผ๊ฑด๋ค์ ์ ๋ฆฌํด๋ณด์๋ค. ํ์ง๋ง ์ง๊ฐ, ์ค๋งํธํฐ, ์ฐ์ฐ, ์ฐจ ํค, ์ด์ดํฐ, ์๊ณ, ๋ณด์กฐ ๋ฐฐํฐ๋ฆฌ ๋ฑ ์ข ๋ฅ์ ๊ฐ์๊ฐ ๋๋ฌด ๋ง์๋ค. ํ์ ๋ถํ์ํ ์์ง์์ ์์ฃผ ์ซ์ดํ๋ ๊ฒฝ์ฌ ์จ๋ ์ด ๋ฌผ๊ฑด๋ค์ ์ต๋ํ ๋น ๋ฅด๊ฒ ์ฑ๊ฒจ์ ์ธ์ถํ๋ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์๊ณ ์ถ์๋ค. ๊ฒฝ์ฌ ์จ๋ ํ ๊ฑธ์์ ์ํ์ข์ฐ์ ์ธ์ ํ ์นธ์ผ๋ก๋ง ์์ง์ผ ์ ์๋ค. ๊ฒฝ์ฌ ์จ..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 40๋ถ ๋ฌธ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ(rooted tree)๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ํธ๋ฆฌ ์์ ๋ ์ ์ ์ด ์ฃผ์ด์ง ๋ ๊ทธ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์(Nearest Common Anscestor)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์, ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ์ง๋ฉด์ ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(์ฆ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด 15์ 11๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ๋ ๋ ธ๋๋ 4์ 8์ด ์์ง๋ง, ๊ทธ ์ค ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(15์ 11์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ 4 ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ 4๊ฐ ๋ฉ๋๋ค. ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๊ณ , ๋ ๋ ธ๋๊ฐ ์ฃผ์ด์ง ๋ ๊ทธ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์..
๋์ด๋ : ๊ณจ๋ 3 ๊ฑธ๋ฆฐ ์๊ฐ : 30๋ถ ๋ฌธ์ ๋ค๋ฆฌ ๋ง๋ค๊ธฐ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 2146๋ฒ: ๋ค๋ฆฌ ๋ง๋ค๊ธฐ ์ฌ๋ฌ ์ฌ์ผ๋ก ์ด๋ฃจ์ด์ง ๋๋ผ๊ฐ ์๋ค. ์ด ๋๋ผ์ ๋ํต๋ น์ ์ฌ์ ์๋ ๋ค๋ฆฌ๋ฅผ ๋ง๋ค๊ฒ ๋ค๋ ๊ณต์ฝ์ผ๋ก ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํด ๋น์ ๋ ์ ์์๋ค. ํ์ง๋ง ๋ง์ ๋ํต๋ น์ ์ทจ์ํ์, ๋ค๋ฆฌ๋ฅผ ๋๋๋ค๋ ๊ฒ์ด ์๊น๋ค www.acmicpc.net ํ์ด ๊ฐ์ฅ ์งง์ ๋ค๋ฆฌ์ ๊ธธ์ด == ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ์ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋ชจ๋ ์ฌ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผ ํจ ๊ฐ ์ฌ์ ์ํ ์ ๋ค๋ก๋ถํฐ ๋ค๋ฅธ ์ฌ์ ์ ๋ค๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๊ฐ์ค์น ์์ผ๋ฏ๋ก bfs ์ด์ฉ ๊ฐ ์ฌ์ ์ํ๋ ์ ๋ค์ bfs๋ก ๋ฐ๋ก ์ฐพ๊ธฐ ์ฝ๋ #include #include using namespace std; int map[101][101]; int direction[4][2] = { ..
๋ฌธ์ ๋ฌธ์ ์ค๋ช ๋๋์ด ์ด๋ ๋ง์์ ํธ ๊ณํ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ง์์ ๋ชจ๋ ์ง๋ค์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋๊ทธ๋๊ฒ ๋ฐฐ์น๋์ด ์์ต๋๋ค. ๊ฐ ์ง๋ค์ ์๋ก ์ธ์ ํ ์ง๋ค๊ณผ ๋ฐฉ๋ฒ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ธ์ ํ ๋ ์ง์ ํธ๋ฉด ๊ฒฝ๋ณด๊ฐ ์ธ๋ฆฝ๋๋ค. ๊ฐ ์ง์ ์๋ ๋์ด ๋ด๊ธด ๋ฐฐ์ด money๊ฐ ์ฃผ์ด์ง ๋, ๋๋์ด ํ์น ์ ์๋ ๋์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ ์ด ๋ง์์ ์๋ ์ง์ 3๊ฐ ์ด์ 1,000,000๊ฐ ์ดํ์ ๋๋ค. money ๋ฐฐ์ด์ ๊ฐ ์์๋ 0 ์ด์ 1,000 ์ดํ์ธ ์ ์์ ๋๋ค. ํ์ด ๋ง์ฝ ์์ ํ์์ผ๋ก ํ๊ณ ์ ํ๋ค๋ฉด? ๋ฐ๋ณต์ index 0๋ถํฐ n-1๊น์ง ๋๋ฉด์ ํด๋น ์ง์์ ์์ํด์ ๋ํ๋๋ ์ต๋์ money๋ฅผ ๊ตฌํ ์ ์์ ํ์ง๋ง index 2๋ฅผ ๊ณ ๋ฅธ๋ค๋ฉด, ์ง์ ๊ฐ์..
ํฉ์น ํ์ ์๊ธ ๋์ด๋ : โ โ โ โโ ๊ฑธ๋ฆฐ ์๊ฐ : ๋ชป ํ์์ ๋ฌธ์ ํฉ์น ํ์ ์๊ธ ๋งํฌ ํด์ค ๊ทธ๋ํ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ dijkstra๋ floyd-warshal ์๊ณ ๋ฆฌ์ฆ ์ด์ฉ ํ๋ก์ด๋ ์์ฌ ์๊ณ ๋ฆฌ์ฆ ๋ชจ๋ ์ ์ => ๋ชจ๋ ์ ์ ์ต๋จ ๊ฒฝ๋ก ๊ตฌํ๊ธฐ d[i][j] = i๋ถํฐ j๊น์ง์ ์ต์ ํ์ ์๊ธ min(d[s][k]+d[k][a]+d[k][b])๋ฅผ ๊ตฌํ๋ฉด ๋จ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ํ ์ ์ => ๋ชจ๋ ์ ์ ์ต๋จ ๊ฒฝ๋ก ๊ตฌํ๊ธฐ ๋ฐฐ์ด(dist)๊ณผ ์ฐ์ ์์ ํ(qp)๋ฅผ ์ด์ฉํด์ ์ฒซ ์ ์ ๋ถํฐ ๊ฐ ๋ ธ๋๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐฐ์ด์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์ ์ฐ์ ์์ ํ์ ๋ค์ ๊ฐ ์ ์๋ ๋ ธ๋๋ค์ ๋ฃ์ผ๋ฉด์ ํด๋น ๊ฑฐ๋ฆฌ๋ฅผ dist ๋ฐฐ์ด์์ ๊ฐฑ์ ํ๋ ๋ฐฉ์ a, b ๊ฐ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋น์ฉ๊ณผ ํน์ ์ง์ ๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ ๋น์ฉ ์ค ๊ฐ์ฅ ์์ ๊ฒ์ ..
๋ฉ๋ด ๋ฆฌ๋ด์ผ ๋์ด๋ : โ โ โโโ ๊ฑธ๋ฆฐ ์๊ฐ : 50๋ถ ๋ฌธ์ ๋ฉ๋ด ๋ฆฌ๋ด์ผ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ฌธ์ ์ค๋ช ๋ ์คํ ๋์ ์ด์ํ๋ ์ค์นดํผ๋ ์ฝ๋ก๋19๋ก ์ธํ ๋ถ๊ฒฝ๊ธฐ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ฉ๋ด๋ฅผ ์๋ก ๊ตฌ์ฑํ๋ ค๊ณ ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด์๋ ๋จํ์ผ๋ก๋ง ์ ๊ณตํ๋ ๋ฉ๋ด๋ฅผ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ํํ๋ก ์ฌ๊ตฌ์ฑํด์ ์๋ก์ด ๋ฉ๋ด๋ฅผ ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ค ๋จํ๋ฉ๋ด๋ค์ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๋ฉด ์ข์ ์ง ๊ณ ๋ฏผํ๋ ์ค์นดํผ๋ ์ด์ ์ ๊ฐ ์๋๋ค์ด ์ฃผ๋ฌธํ ๋ ๊ฐ์ฅ ๋ง์ด ํจ๊ป ์ฃผ๋ฌธํ ๋จํ๋ฉ๋ด๋ค์ ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๊ธฐ๋ก ํ์ต๋๋ค. ๋จ, ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ ์ต์ 2๊ฐ์ง ์ด์์ ๋จํ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ๋ํ, ์ต์ 2๋ช ์ด์์ ์๋์ผ๋ก๋ถํฐ ์ฃผ๋ฌธ๋ ๋จํ๋ฉ๋ด ์กฐํฉ์ ๋ํด์๋ง ์ฝ์ค์๋ฆฌ ๋ฉ๋ด ํ๋ณด์ ํฌํจํ๊ธฐ๋ก ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ 6๋ช ์ด ์ฃผ..
๋งค์นญ ์ ์ ๊ฑธ๋ฆฐ ์๊ฐ : 3์๊ฐ ์ด์ ๋ฌธ์ ๋์ด๋ โ โ โ โโ ๋ฌธ์ ์ค๋ช ํ๋ ์ฆ ๋ํ๊ต ์กฐ๊ต์๋ ์ ์ด์ง๋ ํ๋๋ ์ผ๋ง ์ํค๋ ๋ค์ค ํ๊ณผ์ฅ๋์ ๋ง์์์ ๋ฒ์ด๋, ์นด์นด์ค์ ์ ์ฌํ๊ฒ ๋์๋ค. ํ์์ ๊ด์ฌ์์ดํ๋ ๊ฒ์์ ๋ง์นจ ๊ฒฐ์์ด ๋ฐ์ํ์ฌ, ๊ฒ์๊ฐ๋ฐํ์ ํธ์ ๋ ์ ์์๊ณ , ๋๋ง์ ์ฒซ ํ๋ก์ ํธ๋ฅผ ๋งก๊ฒ ๋์๋ค. ๊ทธ ํ๋ก์ ํธ๋ ๊ฒ์์ด์ ๊ฐ์ฅ ์ ๋ง๋ ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์๋์ ๊ฐ์ ๊ท์น์ผ๋ก ๊ฒ์์ด์ ๋ํ ์นํ์ด์ง์ ๋งค์นญ์ ์๋ฅผ ๊ณ์ฐ ํ๋ ๊ฒ์ด์๋ค. ํ ์นํ์ด์ง์ ๋ํด์ ๊ธฐ๋ณธ์ ์, ์ธ๋ถ ๋งํฌ ์, ๋งํฌ์ ์, ๊ทธ๋ฆฌ๊ณ ๋งค์นญ์ ์๋ฅผ ๊ตฌํ ์ ์๋ค. ํ ์นํ์ด์ง์ ๊ธฐ๋ณธ์ ์๋ ํด๋น ์นํ์ด์ง์ ํ ์คํธ ์ค, ๊ฒ์์ด๊ฐ ๋ฑ์ฅํ๋ ํ์์ด๋ค. (๋์๋ฌธ์ ๋ฌด์) ํ ์นํ์ด์ง์ ์ธ๋ถ ๋งํฌ ์๋ ํด๋น ์นํ์ด์ง์์ ๋ค๋ฅธ ์ธ๋ถ ํ์ด์ง๋ก ์ฐ๊ฒฐ๋ ๋ง..
๊ธธ ์ฐพ๊ธฐ ๊ฒ์ โ โ โ โโ LEVEL 3 ๋ฌธ์ ๊ธธ ์ฐพ๊ธฐ ๊ฒ์ ๋ฌธ์ ๋งํฌ ๋ฌธ์ ์ค๋ช ์ ๋ฌด๋ก ์น์งํ ๋ผ์ด์ธ์ ๊ธฐ๋ถ์ด ๋๋ฌด ์ข์ ํ๋ ์ฆ๋ฅผ ์ด๋๊ณ ํน๋ณ ํด๊ฐ๋ฅผ ๊ฐ๊ธฐ๋ก ํ๋ค. ๋ด์น๊น์ ์ฌํ ๊ณํ๊น์ง ๊ตฌ์ํ๋ ๋ผ์ด์ธ์ ์ฌ๋ฏธ์๋ ๊ฒ์์ ์๊ฐํด๋๊ณ ์ญ์ ์ ๋ฌด๋ก ์น์งํ ๋งํ ์ธ์ฌ๋ผ๊ณ ์ค์ค๋ก์๊ฒ ๊ฐํํ๋ค. ๋ผ์ด์ธ์ด ๊ตฌ์ํ(๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ผ์ด์ธ๋ง ์ฆ๊ฑฐ์ธ๋งํ) ๊ฒ์์, ์นด์นด์ค ํ๋ ์ฆ๋ฅผ ๋ ํ์ผ๋ก ๋๋๊ณ , ๊ฐ ํ์ด ๊ฐ์ ๊ณณ์ ๋ค๋ฅธ ์์๋ก ๋ฐฉ๋ฌธํ๋๋ก ํด์ ๋จผ์ ์ํ๋ฅผ ๋ง์น ํ์ด ์น๋ฆฌํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฅ ์ง๋๋ฅผ ์ฃผ๊ณ ๊ฒ์์ ์์ํ๋ฉด ์ฌ๋ฏธ๊ฐ ๋ํด์ง๋ฏ๋ก, ๋ผ์ด์ธ์ ๋ฐฉ๋ฌธํ ๊ณณ์ 2์ฐจ์ ์ขํ ๊ฐ์ ๊ตฌํ๊ณ ๊ฐ ์ฅ์๋ฅผ ์ด์งํธ๋ฆฌ์ ๋ ธ๋๊ฐ ๋๋๋ก ๊ตฌ์ฑํ ํ, ์ํ ๋ฐฉ๋ฒ์ ํํธ๋ก ์ฃผ์ด ๊ฐ ํ์ด ์ค์ค๋ก ๊ฒฝ๋ก๋ฅผ ์ฐพ๋๋ก ํ ๊ณํ์ด๋ค. ๋ผ์ด์ธ์ ์๋์ ๊ฐ์ ..
Comment