본문 바로가기
Algorithm/BFS, DFS

[백준] 1325번 효율적인 해킹

by 등촌동 꼬북이 2021. 2. 8.

아.. 진짜 계속 어디서 이렇게 오류가 나나 했더니..

 

오타가 있었네..

 

하,.... 

 

아무튼 기본적인 트리 순회 구조이지만...

 

pypy3로 풀어야 풀린다;; 도대체 어떻게 해야 python3로 푸는거지;;

 

from collections import deque
import sys

def bfs(idx):
    counter = 1
    visited = [0] * (N + 1)
    visited[idx] = 1
    que = deque([idx])
    while que:
        now = que.popleft()
        for i in mapData[now]:
            if visited[i] == 0:
                counter += 1
                que.append(i)
                visited[i] = 1
    return counter

N, M = map(int, input().split())
mapData = [[] for _ in range(N + 1)]

for i in range(M):
    a, b = map(int, sys.stdin.readline().split())
    mapData[b].append(a)

ans = []
max_cnt = 0
for i in range(1, N + 1):
    tempVal = bfs(i)
    if max_cnt == tempVal:
        ans.append(i)
    if max_cnt < tempVal:
        max_cnt = tempVal
        ans = []
        ans.append(i)
print(*ans)

댓글