소스 코드
import sys
from collections import deque
input = sys.stdin.readline
n,m = map(int,input().split())
def bfs(start):
cnt = 1
queue = deque([start])
visit = [False for _ in range(n+1)]
visit[start] = True
while queue:
cur = queue.popleft()
for nx in graph[cur]:
if not visit[nx]:
visit[nx] = True
cnt += 1
queue.append(nx)
return cnt
graph = [[] for _ in range(n+1)]
for _ in range(m):
a,b = map(int,input().split())
graph[b].append(a)
maxCnt = 1
ans = []
for i in range(1,n+1):
cnt = bfs(i)
if cnt > maxCnt:
maxCnt = cnt
ans.clear()
ans.append(i)
elif cnt == maxCnt:
ans.append(i)
print(*ans)
해결 방법
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.