๋ฌธ์
๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง - 2252๋ฒ
ํ์ด ๊ณผ์
์์ ์ ๋ ฌ
์ ํ์ฉํ ํด๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์
๋๋ค.
๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ง๋ง DFS
๋ฅผ ํ์ฉํด ์์ ์ ๋ ฌ
์ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ฐ๋จํด์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.
์ฝ๋
import sys
n, m = list(map(int, sys.stdin.readline().split()))
adj = [[] for _ in range(n+1)]
for _ in range(m):
frm, to = list(map(int, sys.stdin.readline().split()))
adj[frm].append(to)
def dfs(here, visit, ans):
visit[here] = 1
for there in adj[here]:
if not visit[there]:
dfs(there, visit, ans)
ans.append(here)
def solution():
ans = []
visit = [0 for _ in range(n+1)]
for i in range(1, n+1):
if not visit[i]:
dfs(i, visit, ans)
ans.reverse()
return ' '.join(map(str, ans))
print(solution())
๋ฐ์ํ
'๐ algorithm > boj' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 3135 - ๋ผ๋์ค (0) | 2021.06.09 |
---|---|
BOJ 13410 - ๊ฑฐ๊พธ๋ก ๊ตฌ๊ตฌ๋จ (0) | 2021.06.08 |
BOJ 2231 - ๋ถํดํฉ (0) | 2021.06.07 |
BOJ 1916 - ์ต์๋น์ฉ ๊ตฌํ๊ธฐ (0) | 2021.06.07 |
BOJ 15684 - ์ฌ๋ค๋ฆฌ ์กฐ์ (0) | 2021.06.07 |
๐ฌ ๋๊ธ