[백준] 16202번 MST 게임
·
백준 문제/MST
문제: 16202번: MST 게임  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;vector nodes;int find_set(int u) { if (nodes[u] == u) return u; return nodes[u] = find_set(nodes[u]);}void union_(int ur, int vr) { nodes[vr] = ur;}int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m, ..
[백준] 16398번 행성 연결
·
백준 문제/MST
문제: 16398번: 행성 연결  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;vector nodes;int find_set(int u) { if (nodes[u] == u) return u; return nodes[u] = find_set(nodes[u]);}void union_(int ur, int vr) { nodes[vr] = ur;}int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; // 행..
[백준] 9372번 상근이의 여행
·
백준 문제/MST
문제: 9372번: 상근이의 여행  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin >> t; while (t-- > 0) { int n, m; cin >> n >> m; for (int i = 0; i > a >> b; } // 음.. 상근이가 모든 국가를 여행하기 위해 타야 하는 비행기 종류의 최소 개수는 걍 n-1 아님..? // ..
[백준] 1774번 우주신과의 교감
·
백준 문제/MST
문제: 1774번: 우주신과의 교감  #include #include #include #include #include #include #include #include #include #include // setprecision을 사용하기 위한 헤더using namespace std;vector nodes; // 정점이 속한 집합 번호vector> coordinates; // 황선자와 우주신들의 좌표struct compare { bool operator()(pair, double> a, pair, double> b) { return a.second > b.second; }};// 각 정점이 속한 집합 번호 리턴int find_set(int u) { if (nodes[u] == u) return u; ..
[백준] 16562번 친구비
·
백준 문제/MST
문제: 16562번: 친구비  #include #include #include #include #include #include #include #include #include using namespace std;vector nodes; // 정점들// 우선 순위 큐가 pair 의 두 번째 요소를 기준으로 최소힙으로 동작할 수 있도록 하는 비교 함수 객체 만들기struct compare { bool operator()(pair, int> a, pair, int> b) { return a.second > b.second; }};// 각 정점이 속한 집합 번호를 반환하는 함수int find_set(int u) { if (nodes[u] == u) return u; return nodes[u] = find_..
[백준] 4386번 별자리 만들기
·
백준 문제/MST
문제: 4386번: 별자리 만들기  #include #include #include #include #include #include #include #include using namespace std;vector nodes;vector> coordinates; // 좌표값들(좌푤를 노드와 매핑하는데 이용할 것)// 두 번째 요소인 가중치를 기준으로 최소힙으로 동작하도록 하기 위한 사용자 정의 함수 객체struct compare { // 우선 순위 큐의 디폴트는 최대힙으로 동작 // 이를 최소힙으로 동작하도록 해주려면 a>b 이를 리턴해줘야함. // 근데 지금 두번째 요소를 기준으로 최소힙으로 만드니까 a.second > b.second 이렇게 한 것!! bool operator()(pair, float>..
[백준] 1197번 최소 스패닝 트리
·
백준 문제/MST
문제: 1197번: 최소 스패닝 트리  #include #include #include #include #include #include #include using namespace std;int compare(pair, int> a, pair, int> b) { return a.second node; // 그래프의 정점// 정점이 속한 집합의 번호 리턴// find_set 하면 타고 올라갈때마다 해당 node 의 값을 해당 집합 번호로 바꿔줄 것..// 다음에 또 접근할 때 아래에서 위까지 타고 올라가는 과정은 반복하지 않기 위함.int find_set(int u) { if (u == node[u]) return u; return node[u] = find_set(node[u]);}// 각 정점이 속..