[C++] 백준/Silver/1325. 효율적인 해킹
·
C++/Algorithm
문제: 효율적인 해킹 (백준 1325번)문제 분석N개의 컴퓨터와 M개의 신뢰 관계가 주어질 때, 한 컴퓨터를 해킹하면 그 컴퓨터를 신뢰하는 다른 컴퓨터들도 해킹할 수 있다.각 컴퓨터를 시작점으로 하여 해킹할 수 있는 컴퓨터의 수(직접 및 간접)를 구한 뒤, 가장 많은 컴퓨터를 해킹할 수 있는 노드를 출력하는 문제이다. 접근입력으로 주어지는 (a, b) 관계는 "a가 b를 신뢰한다"는 의미이므로,b를 해킹하면 a도 해킹할 수 있다.이를 위해, 각 노드에 대해 역방향 그래프를 구성하여, 해당 노드에서 출발해 도달할 수 있는 노드의 수를 구하면 된다.해결 방법그래프 구성:입력 (a, b)를 받으면, graph[b]에 a를 추가한다.→ 이렇게 하면 b를 해킹했을 때, a로 확산되는 효과를 모사할 수 있다.BFS..