Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 안드로이드
- 프로그래머스
- Heap
- 디자인패턴
- AOS
- 파이팅
- 해커랭크
- Algorithm
- 1715
- 백준
- 백준 #알고리즘 # Algorithm #파이썬
- 12865
- Python
- MVC
- 1697
- 알고리즘
- python #7490 #백준 #알고리즘 #BFS
- 파이썬
- level3
- 올바른 괄호
- 1759
- BFS
- 1302
- 최소힙
- 1766
- REST API
- 라이징프로그래머2 #Android #안드로이드 #Quitter #MakeUs
- CS
- 2941
- deque
Archives
Liam 일지
백준 1325번 효율적인 해킹 본문
728x90
문제
해커 김지민은 잘 알려진 어느 회사를 해킹하려고 한다. 이 회사는 N개의 컴퓨터로 이루어져 있다. 김지민은 귀찮기 때문에, 한 번의 해킹으로 여러 개의 컴퓨터를 해킹 할 수 있는 컴퓨터를 해킹하려고 한다.
이 회사의 컴퓨터는 신뢰하는 관계와, 신뢰하지 않는 관계로 이루어져 있는데, A가 B를 신뢰하는 경우에는 B를 해킹하면, A도 해킹할 수 있다는 소리다.
이 회사의 컴퓨터의 신뢰하는 관계가 주어졌을 때, 한 번에 가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터의 번호를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에, N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에 신뢰하는 관계가 A B와 같은 형식으로 들어오며, "A가 B를 신뢰한다"를 의미한다. 컴퓨터는 1번부터 N번까지 번호가 하나씩 매겨져 있다.
출력
첫째 줄에, 김지민이 한 번에 가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터의 번호를 오름차순으로 출력한다.
from collections import deque
n, m = map(int, input().split())
graph = [[] for _ in range(n + 1)]
result = []
max_value=-1
def BFS(x):
visit = [False] * (n + 1)
q = deque([x])
visit[x] = True
count = 1
while q:
now = q.popleft()
for next in graph[now]:
if visit[next] == False:
visit[next] = True
count += 1
q.append(next)
result.append((x,count))
for i in range(m):
a, b = map(int, input().split())
graph[b].append(a)
for i in range(1, n + 1):
BFS(i)
result=sorted(result,key= lambda x:x[1])
max_value=result[-1][1]
solve=[]
for i in range(n):
if result[i][1]==max_value:
solve.append(result[i][0])
solve.sort()
for i in solve:
print(i,end=' ')
사용언어: python
문제출처:https://www.acmicpc.net/problem/1325
1325번: 효율적인 해킹
첫째 줄에, N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에 신뢰하는 관계가 A B와 같은 형식으로 들어오며, "A가 B를 신뢰한
www.acmicpc.net
'Algorithm(백준)' 카테고리의 다른 글
| 배열 평탄화 (0) | 2021.04.29 |
|---|---|
| 백준 2941번 크로아티아 알파벳 (0) | 2021.04.28 |
| 백준 1012번 유기농 배추(python) (0) | 2021.04.24 |
| 백준 1697번 숨바꼭질(python) (0) | 2021.04.24 |
| 백준 12865번 평범한 배낭(python) (0) | 2021.04.24 |