(Graph)Wedding

๋ฌธ์ œ ์„ค๋ช…

์ ‘๊ทผ ๋ฐฉ๋ฒ• - ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. - 1์˜ ์ธ์ ‘๋…ธ๋“œ์™€ 1์˜ ์ธ์ ‘๋…ธ๋“œ์˜ ์ธ์ ‘๋…ธ๋“œ ๊ฐฏ์ˆ˜๋งŒ ์„ธ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— BFS/DFS๋Š” ๋ถˆํ•„์š”ํ•˜๋‹ค.

ํ‹€๋ฆฐ ์ด์œ  ์ดˆ๋Œ€ํ•  ์นœ๊ตฌ๋ฅผ ์นด์šดํŒ…ํ•  ๋•Œ ์ค‘๋ณต ์ฒดํฌ(๋ฐฉ๋ฌธ ์ฒดํฌ)๋ฅผ ํ•ด์ฃผ์–ด์•ผํ•˜๋Š”๋ฐ ํ•ด์ฃผ์ง€ ์•Š์•˜๋‹ค.

Solution ์šฐ๋ฆฌ๋Š” 1๋ฒˆ์˜ ์นœ๊ตฌ i์™€ i์˜ ์นœ๊ตฌ๋งŒ ๊ด€์‹ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๊ด€๊ณ„๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค!!!๐ŸŒŸ =>arr[1][i] == 1: ์นœ๊ตฌ ์ดˆ๋Œ€ if(!v[i]) ์ด๋ฉด i์ดˆ๋Œ€. arr[i][j] == 1 && !v[j] : ์นœ๊ตฌ์˜ ์นœ๊ตฌ ์ดˆ๋Œ€ 1. 2์ฐจ์› ๋ฐฐ์—ด์— ์นœ๊ตฌ ๊ด€๊ณ„ ์ €์žฅํ•œ๋‹ค. arr[i][j] : i์™€ j๊ฐ€ ์นœ๊ตฌ.(์˜๋ฏธํ•ด์„์ด ๋” ์ง๊ด€์ ์ด๋‹ค!) arr[1][i] = 1 : 1๊ณผ i๊ฐ€ ์นœ๊ตฌ๋ผ๋Š” ์˜๋ฏธ! i๋ฒˆ ์นœ๊ตฌ๋ฅผ ์ดˆ๋Œ€ํ•˜๋ฉด i๋ฒˆ ์นœ๊ตฌ j๋„ ์ดˆ๋Œ€ํ•˜๋ฏ€๋กœ arr[i][j] = 1์ด๋ฉด j๋„ ์ดˆ๋Œ€ํ•œ๋‹ค!

2. ์ด๋ฏธ ์ดˆ๋Œ€ํ•œ ์นœ๊ตฌ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด boolean ๋ฐฐ์—ด ํ•„์š”! ์ดˆ๋Œ€ํ•˜๊ธฐ ์ „์— ์ค‘๋ณต์ฒดํฌํ•˜๊ณ  ๋‚œ ํ›„์— ํ•ด์ค€๋‹ค!

๋А๋‚€ ์  ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ด ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ์ €์žฅํ•ด์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

1์˜ ์นœ๊ตฌ ์ดˆ๋Œ€ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ if(friends[1][i] == 1 && !visit[i]) ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด๋ฌธ์„ ๊ฑธ์–ด์„œ i๋ฅผ ์ดˆ๋Œ€ํ•˜๋ฉด ๋ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์•„๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด ์กฐ๊ฑด๋ฌธ์€ ์•„๋ž˜์— i์˜ ์นœ๊ตฌ๋„ ์ดˆ๋Œ€ํ•˜๋Š” ๋ถ€๋ถ„๋„ ํฌํ•จํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์ธ๋ฐ ์กฐ๊ฑด๋ฌธ์„ ์ €๋ ‡๊ฒŒ ๊ฑธ์–ด๋ฒ„๋ฆฌ๋ฉด 1์˜ ์นœ๊ตฌ 2์ดˆ๋Œ€(visit[2] = true) 2์˜ ์นœ๊ตฌ 3์ดˆ๋Œ€(visit[3] = true) 1์˜ ์นœ๊ตฌ 3 ์ฐจ๋ก€์—์„œ 3์€ ์ดˆ๋Œ€ํ•˜์ง€ ์•Š๋”๋ผ๋„ 3์˜ ์นœ๊ตฌ 4(์นœ๊ตฌ์˜ ์นœ๊ตฌ)๋ฅผ ์ดˆ๋Œ€ํ•˜๋Š” ๋ถ€๋ถ„์€ ์‹คํ–‰๋˜์–ด์•ผํ•˜๋Š”๋ฐ 2๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์•„ ์ „์ฒด๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•„์„œ ์˜ค๋‹ต์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค!

Last updated

Was this helpful?