컴공생의 다이어리
[파이썬, Python] 백준 14621번 : 나만 안되는 연애 본문
백준 14621번 : 나만 안되는 연애
내 코드
import sys
input = sys.stdin.readline
def find_parent(parent, x):
if parent[x] != x:
parent[x] = find_parent(parent, parent[x])
return parent[x]
def union(parent, a, b):
a = find_parent(parent, a)
b = find_parent(parent, b)
if a < b:
parent[b] = a
else:
parent[a] = b
n, m = map(int, input().split()) # n : 학교의 수, m : 도로의 개수
univ = list(input().split()) # 대학교 정보 : W(여대), M(남대)
edges = [] # 학교 연결 간선 정보
for _ in range(m):
u, v, d = map(int, input().split())
edges.append((d, u - 1, v - 1))
edges.sort()
answer, cnt = 0, 0
parent = [i for i in range(n)]
for d, u, v in edges:
if univ[u] != univ[v] and find_parent(parent, u) != find_parent(parent, v):
union(parent, u, v)
answer += d
cnt += 1
if cnt == n - 1:
break
print(answer) if cnt == n - 1 else print(-1)
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[파이썬, Python] 백준 4386번 : 별자리 만들기 (0) | 2022.08.23 |
---|---|
[프로그래머스] 완주하지 못한 선수 - 자바스크립트(JS) (1) | 2022.08.22 |
[프로그래머스] K번째수 - 자바스크립트(JS) (0) | 2022.08.20 |
[프로그래머스] 가장 큰 수 - 자바스크립트(JS) (0) | 2022.08.19 |
[파이썬, Python] 백준 4097번 : 수익 (1) | 2022.08.17 |
Comments