1325. 효율적인 해킹
1325번: 효율적인 해킹
첫째 줄에, N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에 신뢰하는 관계가 A B와 같은 형식으로 들어오며, "A가 B를 신뢰한
www.acmicpc.net
- 내 풀이
- for문 돌면서 1~n번 각각에서 시작하여 해킹할수 있는 만큼 cnt[n]에 +1 해가면서 저장
- visited는 bfs(i)로 1-n번이 시작될때마다 초기화해줘야함
#a-> b 신뢰 : b 해킹하면 a 해킹가능
#가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터번호
from collections import deque
def bfs(i):
queue.append(i)
visited[i]=0
while queue:
x=queue.popleft()
cnt[i]+=1
for gh in graph[x]:
if visited[gh]==-1:
queue.append(gh)
visited[gh]=0
cnt[i]+=1
n,m=map(int, input().split())
graph=[[] for _ in range(n+1)]
for i in range(m):
a,b=map(int,input().split())
graph[b].append(a)
queue=deque()
cnt=[0 for _ in range(n+1)]
for i in range(1,n+1):
visited=[-1 for _ in range(n+1)]
bfs(i)
result=[]
for idx, c in enumerate(cnt):
if c==max(cnt):
result.append(idx)
print(*result)
'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준][BFS] 9934. 완전 이진 트리 (0) | 2023.04.14 |
|---|---|
| [백준] [DFS] [백트래킹] 13023. ABCDE (0) | 2023.04.14 |
| [백준] [DFS] [트리] 1967. 트리의 지름 (0) | 2023.04.12 |
| [백준] [백트래킹] 18430. 무기 공학 (0) | 2023.04.10 |
| [SWEA] [DFS] 4013. 특이한 자석 (0) | 2023.04.09 |