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

๋ชฉ๋กDFS (19)

JUINTINATION

๋ฐฑ์ค€ 2147๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/2146 2146๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ๊ฐ€ ์žˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๋Œ€ํ†ต๋ น์€ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๊ณต์•ฝ์œผ๋กœ ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํ•ด ๋‹น์„ ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ๋Œ€ํ†ต๋ น์— ์ทจ์ž„ํ•˜์ž, ๋‹ค๋ฆฌ๋ฅผ ๋†“๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์•„๊น๋‹ค www.acmicpc.net ํ’€์ด ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ์—์„œ ํ•œ ์„ฌ๊ณผ ๋‹ค๋ฅธ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•  ๋•Œ ๊ฐ€์žฅ ์งง์€ ๋‹ค๋ฆฌ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์„ฌ์€ ๋™์„œ๋‚จ๋ถ์œผ๋กœ ๋ถ™์–ด์žˆ๋Š” ๋•…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ ์–ด๋–ค ์„ฌ๊ณผ ๋‹ค๋ฅธ ์„ฌ ์‚ฌ์ด๋ฅผ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฐ ์„ฌ์ด ๋‹ค๋ฅธ ์„ฌ์ด๋ผ๋Š” ๊ฒƒ์„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ €๋Š” dfs ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ๊ฐ ์„ฌ์— ๋ฒˆํ˜ธ๋ฅผ ์ •ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ..

๋ฐฑ์ค€ 16964๋ฒˆ: DFS ์ŠคํŽ˜์…œ ์ €์ง€

๋ฌธ์ œ https://www.acmicpc.net/problem/16964 16964๋ฒˆ: DFS ์ŠคํŽ˜์…œ ์ €์ง€ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N-1๊ฐœ์˜ ์ค„์—๋Š” ํŠธ๋ฆฌ์˜ ๊ฐ„์„  ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” DFS ๋ฐฉ๋ฌธ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. DFS ๋ฐฉ๋ฌธ ์ˆœ์„œ๋Š” ํ•ญ์ƒ N๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ www.acmicpc.net ํ’€์ด ์ง€๋‚œ BFS ์ŠคํŽ˜์…œ ์ €์ง€ ๋ฌธ์ œ์— ์ด์–ด ์ •์ ์— 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„ํ•œ ํŠธ๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ ์–ด๋–ค ์ˆ˜์—ด์ด DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ˆ˜์—ด์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ BFS, DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •์ ๋ผ๋ฆฌ ์–ด๋–ค ์ˆœ์„œ๋กœ ์—ฐ๊ฒฐ๋ผ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋ฐฉ๋ฌธ ์ˆœ์„œ..

๋ฐฑ์ค€ 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„ 

๋ฌธ์ œ https://www.acmicpc.net/problem/16947 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„  ์ฒซ์งธ ์ค„์— ์—ญ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 3,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์—ญ๊ณผ ์—ญ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ๊ตฌ๊ฐ„์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ์—ญ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ www.acmicpc.net ํ’€์ด ํ•œ ์—ญ์—์„œ ์ถœ๋ฐœํ•ด์„œ ๊ณ„์† ๊ฐ€๋ฉด ๋‹ค์‹œ ์ถœ๋ฐœํ•œ ์—ญ์œผ๋กœ ๋Œ์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋…ธ์„ ์„ ์ˆœํ™˜์„ ์ด๋ผ๊ณ  ํ•˜๊ณ  ๋‘ ์—ญ(์ •์ ) ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ์ง€๋‚˜์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„(๊ฐ„์„ )์˜ ๊ฐœ์ˆ˜์ผ ๋•Œ 1๊ฐœ์˜ ์ˆœํ™˜์„ ๊ณผ ๊ฐ ์—ญ๊ณผ ์ˆœํ™˜์„  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ‘๊ทผ dfs๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฉ๋ฌธํ•œ ์ ์ด ์žˆ๋Š” ์—ญ์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„์™”๋‹ค๋ฉด ํ•ด๋‹น ์—ญ์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœํ™˜์„ ์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ทธ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์—ญ์— ์ˆœํ™˜์„ ์ด๋ผ..

๋ฐฑ์ค€ 16929๋ฒˆ: Two Dots

๋ฌธ์ œ https://www.acmicpc.net/problem/16929 16929๋ฒˆ: Two Dots ์ฒซ์งธ ์ค„์— ๊ฒŒ์ž„ํŒ์˜ ํฌ๊ธฐ N, M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฒŒ์ž„ํŒ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฒŒ์ž„ํŒ์€ ๋ชจ๋‘ ์ ์œผ๋กœ ๊ฐ€๋“์ฐจ ์žˆ๊ณ , ๊ฒŒ์ž„ํŒ์˜ ์ƒํƒœ๋Š” ์ ์˜ ์ƒ‰์„ ์˜๋ฏธํ•œ๋‹ค. ์ ์˜ ์ƒ‰์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ www.acmicpc.net ํ’€์ด Two Dots๋Š” Playdots, Inc. ์—์„œ ๋งŒ๋“  ๊ฒŒ์ž„์œผ๋กœ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์‚ฌ์ดํด์„ ์ฐพ๋Š” ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. ์ด ๊ฒŒ์ž„์—์„œ ๋Œ€๊ฐ์„ ์œผ๋กœ๋Š” ์›€์ง์ผ ์ˆ˜ ์—†์„ ๋•Œ ์ตœ์†Œ 4๊ฐœ์˜ ์ ์„ ์ž‡๋Š” ์‚ฌ์ดํด์ด ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ‘๊ทผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ”๋‹ค๊ฐ€ ๋ฐ”๋กœ ์™ผ์ชฝ์œผ๋กœ ์˜ค๋ฉด 2๊ฐœ์˜ ์ ์œผ๋กœ ์‚ฌ์ดํด์ด ๋งŒ๋“ค์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ์—๋Š” dfs ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ๋งค๊ฐœ๋ณ€..

๋ฐฑ์ค€ 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„

๋ฌธ์ œ https://www.acmicpc.net/problem/1707 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์˜ ๊ฐœ์ˆ˜ V์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— www.acmicpc.net ํ’€์ด ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์˜ ์ง‘ํ•ฉ์„ ๋‘˜๋กœ ๋ถ„ํ• ํ–ˆ์„ ๋•Œ ๊ฐ ์ง‘ํ•ฉ์— ์†ํ•œ ์ •์ ๋ผ๋ฆฌ ์„œ๋กœ ์ธ์ ‘ํ•˜์ง€ ์•Š๋„๋ก ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์ธ ์ด๋ถ„ ๊ทธ๋ž˜ํ”„(Bipartite Graph)๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ‘๊ทผ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ž˜๋ชป ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ ์ž ํ–ˆ์ง€๋งŒ ์˜ˆ์ œ์—์„œ๋ถ€ํ„ฐ ๋‹ต์ด ๋‹ค๋ฅด๊ฒŒ ์ถœ๋ ฅ๋์Šต๋‹ˆ๋‹ค. ์ด๋ถ„ ๊ทธ๋ž˜ํ”„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฒˆํ˜ธ๊ฐ€ 1๋ถ€ํ„ฐ 6๊นŒ์ง€ ์žˆ๋Š” ์ •..