๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ PS(Problem Solving) ๐Ÿ”ฅ

[BOJ] #2636 ์น˜์ฆˆ

by dar0m! 2020. 6. 24.
์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ •๋‹ต ๋น„์œจ
 1์ดˆ  128MB 49.494%
 

2636๋ฒˆ: ์น˜์ฆˆ

์•„๋ž˜ <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ์นธ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํŒ์ด ์žˆ๊ณ , ๊ทธ ์œ„์— ์–‡์€ ์น˜์ฆˆ(ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„)๊ฐ€ ๋†“์—ฌ ์žˆ๋‹ค. ํŒ์˜ ๊ฐ€์žฅ์ž๋ฆฌ(<๊ทธ๋ฆผ 1>์—์„œ ๋„ค๋ชจ ์นธ์— X์นœ ๋ถ€๋ถ„)์—๋Š” ์น˜์ฆˆ๊ฐ€ ๋†“

www.acmicpc.net

 

๋ฌธ์ œ

์•„๋ž˜ <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ์นธ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํŒ์ด ์žˆ๊ณ , ๊ทธ ์œ„์— ์–‡์€ ์น˜์ฆˆ(ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„)๊ฐ€ ๋†“์—ฌ ์žˆ๋‹ค. ํŒ์˜ ๊ฐ€์žฅ์ž๋ฆฌ(<๊ทธ๋ฆผ 1>์—์„œ ๋„ค๋ชจ ์นธ์— X์นœ ๋ถ€๋ถ„)์—๋Š” ์น˜์ฆˆ๊ฐ€ ๋†“์—ฌ ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์น˜์ฆˆ์—๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ตฌ๋ฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด ์น˜์ฆˆ๋ฅผ ๊ณต๊ธฐ ์ค‘์— ๋†“์œผ๋ฉด ๋…น๊ฒŒ ๋˜๋Š”๋ฐ ๊ณต๊ธฐ์™€ ์ ‘์ด‰๋œ ์นธ์€ ํ•œ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋…น์•„ ์—†์–ด์ง„๋‹ค. ์น˜์ฆˆ์˜ ๊ตฌ๋ฉ ์†์—๋Š” ๊ณต๊ธฐ๊ฐ€ ์—†์ง€๋งŒ ๊ตฌ๋ฉ์„ ๋‘˜๋Ÿฌ์‹ผ ์น˜์ฆˆ๊ฐ€ ๋…น์•„์„œ ๊ตฌ๋ฉ์ด ์—ด๋ฆฌ๋ฉด ๊ตฌ๋ฉ ์†์œผ๋กœ ๊ณต๊ธฐ๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. <๊ทธ๋ฆผ 1>์˜ ๊ฒฝ์šฐ, ์น˜์ฆˆ์˜ ๊ตฌ๋ฉ์„ ๋‘˜๋Ÿฌ์‹ผ ์น˜์ฆˆ๋Š” ๋…น์ง€ ์•Š๊ณ  ‘c’๋กœ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„๋งŒ ํ•œ ์‹œ๊ฐ„ ํ›„์— ๋…น์•„ ์—†์–ด์ ธ์„œ <๊ทธ๋ฆผ 2>์™€ ๊ฐ™์ด ๋œ๋‹ค.

์ž…๋ ฅ์œผ๋กœ ์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํŒ์˜ ํฌ๊ธฐ์™€ ํ•œ ์กฐ๊ฐ์˜ ์น˜์ฆˆ๊ฐ€ ํŒ ์œ„์— ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ณต๊ธฐ ์ค‘์—์„œ ์น˜์ฆˆ๊ฐ€ ๋ชจ๋‘ ๋…น์•„ ์—†์–ด์ง€๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ๋ชจ๋‘ ๋…น๊ธฐ ํ•œ ์‹œ๊ฐ„ ์ „์— ๋‚จ์•„์žˆ๋Š” ์น˜์ฆˆ์กฐ๊ฐ์ด ๋†“์—ฌ ์žˆ๋Š” ์นธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

ํ•ด๊ฒฐ

key point, DFS ํ™œ์šฉ!
  1. ์ž…๋ ฅ์„ ๋ฐ›์œผ๋ฉด์„œ ์น˜์ฆˆ๊ฐ€ ์•„๋‹Œ ์™ธ๊ฐ๋ถ€๋ถ„์„ ์‹œ์ž‘์ง€์ ์œผ๋กœ ์ €์žฅํ•ด๋‘”๋‹ค.
  2. dfs๋ฅผ ์‹œ์ž‘์ง€์ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ '๊ณต๊ธฐ์™€ ์ ‘์ด‰ํ•œ ์น˜์ฆˆ ์™ธ๊ฐ๋ถ€๋ถ„์˜ ๊ฐœ์ˆ˜'๋ฅผ ๋ฆฌํ„ดํ•˜์—ฌ cnt๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.
    ๋™์‹œ์— ๊ณต๊ธฐ์™€ ์ ‘์ด‰ํ•œ ๋ถ€๋ถ„์„ ์‚ญ์ œํ–ˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ arr๋ฐฐ์—ด ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
  3. dfs๋ฅผ ๋Œ ๋•Œ๋งˆ๋‹ค time์ด ์ฆ๊ฐ€๋œ๋‹ค.
  4. ํ•œ ์‹œ๊ฐ„ ์ „์— ๋‚จ์•„์žˆ๋Š” ์น˜์ฆˆ์กฐ๊ฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๊ธฐ ์œ„ํ•˜์—ฌ ์ง์ „์— ์‚ญ์ œํ•œ ์น˜์ฆˆ ์กฐ๊ฐ ๊ฐœ์ˆ˜๋ฅผ ๋งค๋ฒˆ ans์— ์ €์žฅํ•ด ๋‘์—ˆ๊ณ , cnt๊ฐ€ 0์ผ ๋•Œ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ€ time๊ณผ ans์„ ์ถœ๋ ฅํ•˜๋ฉฐ ์ข…๋ฃŒํ•œ๋‹ค. 

 

์ฝ”๋“œ

๋ฉ”๋ชจ๋ฆฌ ์‹œ๊ฐ„
 2120KB  0ms

๋Œ“๊ธ€