diff --git a/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140.md b/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140.md index 575383a..27304ac 100644 --- a/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140.md +++ b/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140.md @@ -113,7 +113,7 @@ int res; // 最小生成树的权值和 int cnt; // 最小生成树的结点数 // Kruskal算法 -int kruskal() { +void kruskal() { // 1、按边权由小到大排序 sort(edge, edge + m); // 2、并查集初始化 @@ -126,8 +126,7 @@ int kruskal() { p[a] = b, res += c, cnt++; // cnt是指已经连接上边的数量 } // 4、特判是不是不连通 - if (cnt < n - 1) return INF; - return res; + if (cnt < n - 1) res = INF; } int main() { @@ -139,8 +138,8 @@ int main() { cin >> c; edge[m++] = {i, j, c}; // 加入当前的边 } - int t = kruskal(); - cout << t << endl; + kruskal(); + cout << res << endl; return 0; } ``` diff --git a/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140_Kruskal.cpp b/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140_Kruskal.cpp index a8363ac..7c5393f 100644 --- a/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140_Kruskal.cpp +++ b/TangDou/AcWing_TiGao/T3/MinialSpanningTree/1140_Kruskal.cpp @@ -24,7 +24,7 @@ int res; // 最小生成树的权值和 int cnt; // 最小生成树的结点数 // Kruskal算法 -int kruskal() { +void kruskal() { // 1、按边权由小到大排序 sort(edge, edge + m); // 2、并查集初始化 @@ -37,8 +37,7 @@ int kruskal() { p[a] = b, res += c, cnt++; // cnt是指已经连接上边的数量 } // 4、特判是不是不连通 - if (cnt < n - 1) return INF; - return res; + if (cnt < n - 1) res = INF; } int main() { @@ -50,7 +49,7 @@ int main() { cin >> c; edge[m++] = {i, j, c}; // 加入当前的边 } - int t = kruskal(); - cout << t << endl; + kruskal(); + cout << res << endl; return 0; } \ No newline at end of file diff --git a/TangDou/Topic/【最小生成树】专题.md b/TangDou/Topic/【最小生成树】专题.md index fd78f73..046e190 100644 --- a/TangDou/Topic/【最小生成树】专题.md +++ b/TangDou/Topic/【最小生成树】专题.md @@ -104,7 +104,7 @@ int find(int x) { } // Kruskal算法 -int kruskal() { +void kruskal() { // 1、按边权由小到大排序 sort(edge, edge + m); // 2、并查集初始化 @@ -117,8 +117,7 @@ int kruskal() { p[a] = b, res += c, cnt++; // cnt是指已经连接上边的数量 } // 4、特判是不是不连通 - if (cnt < n - 1) return INF; - return res; + if (cnt < n - 1) res = INF; } int main() { @@ -128,11 +127,11 @@ int main() { cin >> a >> b >> c; edge[i] = {a, b, c}; } - int t = kruskal(); - if (t == INF) + kruskal(); + if (res == INF) puts("impossible"); else - printf("%d\n", t); + printf("%d\n", res); return 0; } ```