ps:problems:boj:7044
목차
Bad Cowtractors
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 7044 |
문제명 | Bad Cowtractors |
레벨 | 골드 4 |
분류 |
최소 신장 트리 |
시간복잡도 | O(ElogV) |
인풋사이즈 | E<=20,000, V<=1,000 |
사용한 언어 | Python |
제출기록 | 33040KB / 116ms |
최고기록 | 108ms |
해결날짜 | 2022/10/13 |
풀이
- 최대 신장 트리를 구하는 문제인데, 이는 엣지의 웨이트에 마이너스를 붙인 다음, 최소 신장 트리 (Minimum Spanning Tree / MST) 알고리즘을 똑같이 적용하면 풀수 있다.
- 시간 복잡도는 최소 신장 트리 (Minimum Spanning Tree / MST)와 마찬가지인 O(ElogV)이다.
코드
"""Solution code for "BOJ 7044. Bad Cowtractors".
- Problem link: https://www.acmicpc.net/problem/7044
- Solution link: http://www.teferi.net/ps/problems/boj/7044
Tags: [Minimum spanning tree]
"""
import sys
from teflib import graph as tgraph
def main():
N, M = [int(x) for x in sys.stdin.readline().split()]
graph_edges = []
for _ in range(M):
A, B, C = [int(x) for x in sys.stdin.readline().split()]
graph_edges.append((A - 1, B - 1, -C))
try:
mst_edges = tgraph.minimum_spanning_tree(graph_edges, N)
print(-sum(w for u, v, w in mst_edges))
except ValueError:
print('-1')
if __name__ == '__main__':
main()
- Dependency: teflib.graph.minimum_spanning_tree
ps/problems/boj/7044.txt · 마지막으로 수정됨: 2022/10/13 09:09 저자 teferi
토론