๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กBFS (5)

๐˜š๐˜ญ๐˜ฐ๐˜ธ ๐˜ฃ๐˜ถ๐˜ต ๐˜ด๐˜ต๐˜ฆ๐˜ข๐˜ฅ๐˜บ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ์„์œ  ์‹œ์ถ” - C++

๋ฌธ์ œ๐Ÿ”— ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ์„์œ  ์‹œ์ถ”[๋ณธ ๋ฌธ์ œ๋Š” ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ ๊ฐ๊ฐ ์ ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.]์„ธ๋กœ๊ธธ์ด๊ฐ€ n ๊ฐ€๋กœ๊ธธ์ด๊ฐ€ m์ธ ๊ฒฉ์ž ๋ชจ์–‘์˜ ๋•… ์†์—์„œ ์„์œ ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„์œ ๋Š” ์—ฌ๋Ÿฌ ๋ฉ์–ด๋ฆฌ๋กœ ๋‚˜๋ˆ„์–ด ๋ฌปํ˜€์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์‹œ์ถ”๊ด€์„ ์ˆ˜์ง์œผ๋กœ ๋‹จ ํ•˜๋‚˜๋งŒ ๋šซ์„ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ์„์œ ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ์‹œ์ถ”๊ด€์˜ ์œ„์น˜๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ถ”๊ด€์€ ์—ด ํ•˜๋‚˜๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ํ˜•ํƒœ์—ฌ์•ผ ํ•˜๋ฉฐ, ์—ด๊ณผ ์—ด ์‚ฌ์ด์— ์‹œ์ถ”๊ด€์„ ๋šซ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€๋กœ๊ฐ€ 8, ์„ธ๋กœ๊ฐ€ 5์ธ ๊ฒฉ์ž ๋ชจ์–‘์˜ ๋•… ์†์— ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์„์œ ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋กœ ์—ฐ๊ฒฐ๋œ ์„์œ ๋Š” ํ•˜๋‚˜์˜ ๋ฉ์–ด๋ฆฌ์ด๋ฉฐ, ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ๋ฉ์–ด๋ฆฌ์— ํฌํ•จ๋œ ์นธ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ์„์œ  ๋ฉ์–ด๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ์™ผ์ชฝ๋ถ€ํ„ฐ..

[๋ฐฑ์ค€] 5567๋ฒˆ: ๊ฒฐํ˜ผ์‹ - C++

๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์ž์‹ ์˜ ๊ฒฐํ˜ผ์‹์— ํ•™๊ต ๋™๊ธฐ ์ค‘ ์ž์‹ ์˜ ์นœ๊ตฌ์™€ ์นœ๊ตฌ์˜ ์นœ๊ตฌ๋ฅผ ์ดˆ๋Œ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด์˜ ๋™๊ธฐ๋Š” ๋ชจ๋‘ N๋ช…์ด๊ณ , ์ด ํ•™์ƒ๋“ค์˜ ํ•™๋ฒˆ์€ ๋ชจ๋‘ 1๋ถ€ํ„ฐ N๊นŒ์ง€์ด๋‹ค. ์ƒ๊ทผ์ด์˜ ํ•™๋ฒˆ์€ 1์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ๋™๊ธฐ๋“ค์˜ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๋ชจ๋‘ ์กฐ์‚ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฒฐํ˜ผ์‹์— ์ดˆ๋Œ€ํ•  ์‚ฌ๋žŒ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด์˜ ๋™๊ธฐ์˜ ์ˆ˜ n (2 โ‰ค n โ‰ค 500)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด m (1 โ‰ค m โ‰ค 10000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ m๊ฐœ ์ค„์—๋Š” ์นœ๊ตฌ ๊ด€๊ณ„ ai bi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค ai < bi โ‰ค n) ai์™€ bi๊ฐ€ ์นœ๊ตฌ๋ผ๋Š” ๋œป์ด๋ฉฐ, bi์™€ ai๋„ ์นœ๊ตฌ๊ด€๊ณ„์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด์˜ ๊ฒฐํ˜ผ์‹์— ์ดˆ๋Œ€ํ•˜๋Š” ๋™๊ธฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋ž˜ํ”„..

[๋ฐฑ์ค€] 7576๋ฒˆ: ํ† ๋งˆํ†  - C++

๋ฌธ์ œ ์ฒ ์ˆ˜์˜ ํ† ๋งˆํ†  ๋†์žฅ์—์„œ๋Š” ํ† ๋งˆํ† ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ํฐ ์ฐฝ๊ณ ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ† ๋งˆํ† ๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฒฉ์ž ๋ชจ์–‘ ์ƒ์ž์˜ ์นธ์— ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์„œ ์ฐฝ๊ณ ์— ๋ณด๊ด€ํ•œ๋‹ค. ์ฐฝ๊ณ ์— ๋ณด๊ด€๋˜๋Š” ํ† ๋งˆํ† ๋“ค ์ค‘์—๋Š” ์ž˜ ์ต์€ ๊ฒƒ๋„ ์žˆ์ง€๋งŒ, ์•„์ง ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ๋“ค๋„ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ณด๊ด€ ํ›„ ํ•˜๋ฃจ๊ฐ€ ์ง€๋‚˜๋ฉด, ์ต์€ ํ† ๋งˆํ† ๋“ค์˜ ์ธ์ ‘ํ•œ ๊ณณ์— ์žˆ๋Š” ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ๋“ค์€ ์ต์€ ํ† ๋งˆํ† ์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ต๊ฒŒ ๋œ๋‹ค. ํ•˜๋‚˜์˜ ํ† ๋งˆํ† ์˜ ์ธ์ ‘ํ•œ ๊ณณ์€ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ, ์•ž, ๋’ค ๋„ค ๋ฐฉํ–ฅ์— ์žˆ๋Š” ํ† ๋งˆํ† ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ์— ์žˆ๋Š” ํ† ๋งˆํ† ๋“ค์—๊ฒŒ๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ๋ชปํ•˜๋ฉฐ, ํ† ๋งˆํ† ๊ฐ€ ํ˜ผ์ž ์ €์ ˆ๋กœ ์ต๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ฐฝ๊ณ ์— ๋ณด๊ด€๋œ ํ† ๋งˆํ† ๋“ค์ด ๋ฉฐ์น ์ด ์ง€๋‚˜๋ฉด ๋‹ค ์ต๊ฒŒ ๋˜๋Š”์ง€, ๊ทธ ์ตœ์†Œ ์ผ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ์–ด ํ•œ๋‹ค. ํ† ๋งˆํ† ๋ฅผ ์ฐฝ๊ณ ์— ๋ณด๊ด€ํ•˜๋Š” ๊ฒฉ์ž๋ชจ์–‘์˜ ์ƒ์ž๋“ค..

[๋ฐฑ์ค€] 1260๋ฒˆ: DFS์™€ BFS - C++

๋ฌธ์ œ ๊ทธ๋ž˜ํ”„๋ฅผ DFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ์™€ BFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ๊ฒƒ์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ , ๋” ์ด์ƒ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ข…๋ฃŒํ•œ๋‹ค. ์ •์  ๋ฒˆํ˜ธ๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 โ‰ค M โ‰ค 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ์ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ„์„ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๊ฐ„์„ ์€ ์–‘๋ฐฉํ–ฅ์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— DFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋‹ค์Œ ์ค„์—๋Š” BFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. V๋ถ€ํ„ฐ ๋ฐฉ๋ฌธ๋œ ์ ์„ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ ๋ฌธ์ œ - 2. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)

'์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ with C++' ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS) ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 2.2.3 ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ; Breadth-First Search ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)์€ ์‹œ์ž‘ ์ •์ ๊ณผ ๊ฐ€๊นŒ์šด ์ •์ ๋ถ€ํ„ฐ ๋ฐ˜๋ณต์ ์œผ๋กœ ํƒ์ƒ‰ํ•ด๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์˜ ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. 0๋ฒˆ์งธ ์ •์ ์„ ์‹œ์ž‘์œผ๋กœ ์ž‘์€ ๊ฐ’๋ถ€ํ„ฐ ์ฐพ์•„๊ฐ„๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค. 1๋‹จ๊ณ„ : 0๋ฒˆ ์ •์  ๋ฐฉ๋ฌธ 2๋‹จ๊ณ„ : 0๋ฒˆ ์ •์ ๊ณผ ์ธ์ ‘ํ•œ ์ •์  ์ค‘ ๊ฐ€์žฅ ๊ฐ’์ด ์ž‘์€ 1๋ฒˆ ์ •์  ๋ฐฉ๋ฌธ 3๋‹จ๊ณ„ : 0๋ฒˆ ์ •์ ๊ณผ ์ธ์ ‘ํ•œ ์ •์  ์ค‘ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๊ณ , ๊ฐ€์žฅ ๊ฐ’์ด ์ž‘์€ 2๋ฒˆ ์ •์  ๋ฐฉ๋ฌธ 4๋‹จ๊ณ„ : 0๋ฒˆ ์ •์ ๊ณผ ์ธ์ ‘ํ•œ ์ •์  ์ค‘ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ 3๋ฒˆ ์ •์  ๋ฐฉ๋ฌธ 5..