mst implementation guard

MST 검증 기준

Kruskal과 Prim 모두 결과는 같아야 하지만, 입력 형태와 검증 로그가 달라집니다.

edge first

Kruskal

간선 목록이 중심이면 정렬 후 DSU로 안전한 간선만 채택합니다. `used == V-1`이 핵심 종료 조건입니다.

vertex first

Prim

인접 리스트가 준비된 문제에서는 방문 정점 밖으로 나가는 최소 간선을 우선순위 큐로 고릅니다.

cycle guard

DSU

`find(u) == find(v)`이면 간선을 버립니다. 경로 압축과 size 기준 union을 함께 적용합니다.

연결성채택 간선 수가 `V-1`인지 확인합니다.
튜플 순서`(w,u,v)`와 `(u,v,w)` 혼동을 로그로 막습니다.
동점 간선가중치 합은 같아도 선택 간선은 달라질 수 있습니다.
분리 그래프MST 불가와 포레스트 상태를 구분합니다.

품질 기준은 총 비용만 맞는지가 아니라, 사이클 차단과 비연결 입력 실패 처리가 함께 맞는지입니다.