반응형
문제
https://www.acmicpc.net/problem/1197
1197번: 최소 스패닝 트리
첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이
www.acmicpc.net
풀이
문제 그대로 최소 스패닝 트리(MST)를 구하는 문제입니다.
최소 스패닝 트리를 구하는 방법으로는 크루스칼 알고리즘, 프림 알고리즘을 활용해서 구할 수 있습니다.
저는 크루스칼 알고리즘을 활용하여 풀이하였습니다.
간선을 비용의 오름차순 순으로 정렬하여, 비용이 적은것 부터 확인하면서 사이클이 이루어지지 않는다면 연결시켜 줍시다.
연결시킨 비용의 총 합이 가중치가 됩니다.
소스코드
후기
MST를 구하는 알고리즘에 대해 안다면 쉽게 풀 수 있는 문제였습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1774 우주신과의 교감 (Swift) (0) | 2023.05.18 |
---|---|
[BOJ] 백준 4386 별자리 만들기 (Swift) (1) | 2023.05.17 |
[BOJ] 백준 9372 상근이의 여행 (Swift) (0) | 2023.05.16 |
[BOJ] 백준 20040 사이클 게임 (Swift) (0) | 2023.05.16 |
[BOJ] 백준 4195 친구 네트워크 (Swift) (0) | 2023.05.16 |