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

c++3

[๋ฐฑ์ค€/C++] 1620๋ฒˆ : ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ ๋ฌธ์ œ ์˜ค๋ฐ•์‚ฌ : ๊ทธ๋Ÿผ ๋‹ค์†œ์•„ ์ด์ œ ์ง„์ •ํ•œ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋„๊ฐ์„ ์™„์„ฑ์‹œํ‚ค๋„๋ก ํ•˜์—ฌ๋ผ. ์ผ๋‹จ ๋„ค๊ฐ€ ํ˜„์žฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํฌ์ผ“๋ชฌ ๋„๊ฐ์—์„œ ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ๋ณด๋ฉด ํฌ์ผ“๋ชฌ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋งํ•˜๊ฑฐ๋‚˜, ํฌ์ผ“๋ชฌ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋ฉด ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ๋งํ•˜๋Š” ์—ฐ์Šต์„ ํ•˜๋„๋ก ํ•˜์—ฌ๋ผ. ๋‚˜์˜ ์‹œํ—˜์„ ํ†ต๊ณผํ•˜๋ฉด, ๋‚ด๊ฐ€ ์ƒˆ๋กœ ๋งŒ๋“  ๋„๊ฐ์„ ์ฃผ๋„๋ก ํ•˜๊ฒ ๋„ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ๋„๊ฐ์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ๊ฐœ์ˆ˜ N์ด๋ž‘ ๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ ธ. N๊ณผ M์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์•ผ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ํฌ์ผ“๋ชฌ์˜ ๋ฒˆํ˜ธ๊ฐ€ 1๋ฒˆ์ธ ํฌ์ผ“๋ชฌ๋ถ€ํ„ฐ N๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” ํฌ์ผ“๋ชฌ๊นŒ์ง€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์™€. ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์€ ๋ชจ๋‘ ์˜์–ด๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ , ์ฒซ ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž์ด๊ณ , ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด.. 2021. 9. 12.
[๊ฐœ๋…] DFS์™€ BFS ๐Ÿ” ์ •์˜ 01. DFS(Depth First Search) : ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰) ๋ฃจํŠธ ๋…ธํŠธ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋‹ค์Œ ๋ถ„๊ธฐ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ํ•ด๋‹น ๋ถ„๊ธฐ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•. ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค. ์Šคํƒ(Stack) / ์žฌ๊ท€ํ•จ์ˆ˜ ์‚ฌ์šฉ, ๋…ธ๋“œ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€(isVisited[idx]) ์‚ฌ์šฉ ์žฅ์  - ๋‹จ์ง€ ํ˜„ ๊ฒฝ๋กœ์ƒ์˜ ๋…ธ๋“œ๋งŒ์„ ๊ธฐ์–ตํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ €์žฅ๊ณต๊ฐ„์˜ ์ˆ˜์š”๊ฐ€ ๋น„๊ต์  ์ ๋‹ค. - ๋ชฉํ‘œ๋…ธ๋“œ๊ฐ€ ๊นŠ์€ ๋‹จ๊ณ„์— ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋ฅผ ๋นจ๋ฆฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์  - ํ•ด๊ฐ€ ์—†๋Š” ๊ฒฝ๋กœ์— ๊นŠ์ด ๋น ์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ์˜ ๊ฒฝ์šฐ ๋ฏธ๋ฆฌ ์ง€์ •ํ•œ ์ž„์˜์˜ ๊นŠ์ด๊นŒ์ง€๋งŒ ํƒ์ƒ‰ํ•˜๊ณ  ๋ชฉํ‘œ๋…ธ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋‹ค์Œ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์œ ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. -> ํƒ์ƒ‰ ๊ณผ์ •์ด ๋„ˆ๋ฌด ๊นŠ๊ฒŒ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๊นŠ์ด ์ œํ•œ์„ ์‚ฌ.. 2021. 8. 24.
[๋ฐฑ์ค€/C++] 3053๋ฒˆ : ํƒ์‹œ ๊ธฐํ•˜ํ•™ (PI ์‚ฌ์šฉ) ๋ฌธ์ œ 19์„ธ๊ธฐ ๋…์ผ ์ˆ˜ํ•™์ž ํ—ค๋ฅด๋งŒ ๋ฏผ์ฝ”ํ”„์Šคํ‚ค๋Š” ๋น„์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™ ์ค‘ ํƒ์‹œ ๊ธฐํ•˜ํ•™์„ ๊ณ ์•ˆํ–ˆ๋‹ค. ํƒ์‹œ ๊ธฐํ•˜ํ•™์—์„œ ๋‘ ์  T1(x1,y1), T2(x2,y2) ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. D(T1,T2) = |x1-x2| + |y1-y2| ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ •์˜๋Š” ์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™์—์„œ์˜ ์ •์˜์™€ ๊ฐ™๋‹ค. ๋”ฐ๋ผ์„œ ํƒ์‹œ ๊ธฐํ•˜ํ•™์—์„œ ์›์˜ ์ •์˜๋Š” ์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™์—์„œ ์›์˜ ์ •์˜์™€ ๊ฐ™๋‹ค. ์›: ํ‰๋ฉด ์ƒ์˜ ์–ด๋–ค ์ ์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ์ผ์ •ํ•œ ์ ๋“ค์˜ ์ง‘ํ•ฉ ๋ฐ˜์ง€๋ฆ„ R์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™์—์„œ ์›์˜ ๋„“์ด์™€, ํƒ์‹œ ๊ธฐํ•˜ํ•™์—์„œ ์›์˜ ๋„“์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฐ˜์ง€๋ฆ„ R์ด ์ฃผ์–ด์ง„๋‹ค. R์€ 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ์œ ํด๋ฆฌ๋“œ ๊ธฐํ•˜ํ•™์—์„œ ๋ฐ˜์ง€๋ฆ„์ด R.. 2021. 8. 13.