Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๋ฌธ์ ๋งํฌ
๋ฐฑ์ค - ๋๋ฌด ํ์ถ
โ๏ธ ์์๋ ์๊ฐ
1์๊ฐ
โจ ์๋ ์ฝ๋
๋ฌธ์ ์์ฝ
์ด ๊ฒ์์ ๋ ์ฌ๋์ด ๋ฒ๊ฐ์ ๊ฐ๋ฉด์ ๊ฒ์ํ์ ๋์ฌ์๋ ๊ฒ์๋ง์ ์์ง์ด๋ ๊ฒ์์ ๋๋ค. ์ฒ์์๋ ํธ๋ฆฌ์ ๋ชจ๋ ๋ฆฌํ ๋ ธ๋์ ๊ฒ์๋ง์ด ํ๋์ฉ ๋์ฌ์๋ ์ฑ๋ก ์์ํฉ๋๋ค. ์ด๋ค ์ฌ๋์ ์ฐจ๋ก๊ฐ ์ค๋ฉด, ๊ทธ ์ฌ๋์ ํ์ฌ ์กด์ฌํ๋ ๊ฒ์๋ง ์ค ์๋ฌด๊ฑฐ๋ ํ๋๋ฅผ ๊ณจ๋ผ ๊ทธ ๋ง์ด ๋์ฌ ์๋ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ก ์ฎ๊น๋๋ค. ์ด๋ ๊ฒ ์ฎ๊ธด ํ์ ๋ง์ฝ ๊ทธ ๊ฒ์๋ง์ด ๋ฃจํธ ๋ ธ๋์ ๋์ฐฉํ๋ค๋ฉด ๊ทธ ๊ฒ์๋ง์ ์ ๊ฑฐํฉ๋๋ค. ๋ชจ๋ ๊ณผ์ ์ ๋ง์น๋ฉด ๋ค์ ์ฌ๋์๊ฒ ์ฐจ๋ก๋ฅผ ๋๊ธฐ๊ณ , ๊ฒ์๋ง์ด ๊ฒ์ํ์ ์กด์ฌํ์ง ์์ ๊ณ ๋ฅผ ์ ์๋ ์ฌ๋์ด ์ง๊ฒ ๋ฉ๋๋ค.
์ฃผ์ด์ง ํธ๋ฆฌ์์ ๋ชจ๋ ๋ฆฌํ ๋ ธ๋๊ฐ ๋ฃจํธ๋ก ๋์๊ฐ๋ ๋ฐ ํ์ํ ์ด ์ด๋ ํ์๋ฅผ ๊ณ์ฐํ ํ, ๊ทธ ๊ฐ์ด ํ์์ธ์ง ์ง์์ธ์ง ํ๋จํ์ฌ ์ฒซ ๋ฒ์งธ ํ๋ ์ด์ด๊ฐ ์ด๊ธธ์ง ๋ ๋ฒ์งธ ํ๋ ์ด์ด๊ฐ ์ด๊ธธ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๋ฌธ์ ํ์ด
๋ฆฌํ ๋ ธ๋์ ๊น์ด๋ฅผ ๊ตฌํ ํ, ๋ฆฌํ ๋ ธ๋๋ค์ ๊น์ด์ ํฉ์ด ํ์์ด๋ฉด Yes(์ฑ์์ด๊ฐ ์ด๊น), ์ง์์ด๋ฉด No(์ฑ์์ด๊ฐ ์ง)๊ฐ ์ถ๋ ฅ๋๋๋ก ๋ง๋ค๋ฉด ๋ฉ๋๋ค.
ํจ์ ์ค๋ช
๊น์ด ์ฐ์ ํ์(DFS)์ ์ฌ์ฉํ์ฌ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ์ํ๊ณ , ๊ฐ ๋ ธ๋๊น์ง์ ๊น์ด๋ฅผ arr ๋ฆฌ์คํธ์ ์ ์ฅํ๋ ํจ์์ ๋๋ค.
cur
: ํ์ฌ ํ์ ์ค์ธ ๋ ธ๋ ๋ฒํธprv
: ์ด์ ์ ๋ฐฉ๋ฌธํ ๋ ธ๋ ๋ฒํธ(= ๋ถ๋ชจ ๋ ธ๋)dep
: ํ์ฌ ๋ ธ๋๊น์ง์ ๊น์ดarr[cur] = dep
: ํ์ฌ ๋ ธ๋(cur)๊น์ง์ ๊ฑฐ๋ฆฌ(๊น์ด)๋ฅผ arr ๋ฆฌ์คํธ์ cur ์ธ๋ฑ์ค์ ์ ์ฅdfs(next, cur, dep + 1)
: ์ฌ๊ท์ ์ผ๋ก next ๋ ธ๋์ ๋ํด ๊น์ด ์ฐ์ ํ์์ ์ํcur
์ด next ๋ ธ๋์ ๋ถ๋ชจ๊ฐ ๋๊ณ ,dep + 1
์ ํตํด ํ์ฌ ๊น์ด๋ฅผ 1 ์ฆ๊ฐ์ต์ข ์ฝ๋
๋ณด๊ธฐ
๐ ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ
์ฒ์ ์ฝ๋๋ฅผ ์ ์ถํ์ ๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ ์ ์ ์ด๋ฌ์ง ํ๊ณ ๊ฒ์ํด ๋ณด๋ ํ์ด์ฌ์ ๊ธฐ๋ณธ ์ฌ๊ท ๊น์ด ์ ํ ๋๋ฌธ์ด๋ผ๊ณ ํ๋๋ผ๊ณ ์!
์ฌ๊ท๋ฅผ ์ด์ฉํ ํ์ด์์๋ ์ด๋ฐ ๋ฐํ์ ์๋ฌ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด
sys.setrecursionlimit(10 ** 6)
์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค~