社区讨论

样例过了但是全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 条回复,欢迎继续交流。

正在加载回复...