社区讨论
样例过了但是全WA
P3366【模板】最小生成树参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo4ca02q
- 此快照首次捕获于
- 2023/10/24 21:05 2 年前
- 此快照最后确认于
- 2023/11/02 11:32 2 年前
大佬看看orz
CPP#include <bits/stdc++.h>
using namespace std;
const int maxn = 1145141;
long long ans,fa[maxn], n, m;
struct node{
int u,v,w;
}e[maxn];
int find(int a)
{
if (fa[a] != a) fa[a] = find(fa[a]);
else return a;
}
bool cmp(node a, node b) {return a.w < b.w;}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i ++)
fa[i] = i;
for (int i = 1;i <= m; i++)
cin >> e[i].u >> e[i].v >> e[i].w;
sort (e + 1, e + 1 + n, cmp);
int cnt = 0;
for (int i = 1; i <= m; i ++)
{
if (cnt >= n - 1) break;
int fu = find(e[i].u);
int fv = find(e[i].v);
if (fu != fv)
{
fa[fu] = fv;
ans += e[i].w;
cnt ++;
}
}
if (ans == 0) cout << "orz";
else cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...