求助(爆0)
查看原帖
求助(爆0)
1246429
FengSiYuan1楼主2024/7/25 08:41

这是我的代码

#include<bits/stdc++.h>
using namespace std;
int fa[4001];
int n,m;
struct du{
	int c,v,sum;
}t[9000];
int find(int x){
	if(x==fa[x])return x;
	else return find(fa[x]);
}
void ans(int x,int y){
	if(find(x)!=find(y)) fa[find(x)]=find(y);
}
bool cmp(du x,du y){
	return x.sum<y.sum;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}for(int i=1;i<=m;i++){
		cin>>t[i].c>>t[i].v>>t[i].sum;
	}sort(t+1,t+m+1,cmp);
	int num=0;
	int answ;
	for(int i=1;i<=m;i++){
		if(find(t[i].c)!=find(t[i].v)){
			answ=max(t[i].sum,answ);
			fa[find(t[i].c)]=find(t[i].v);
			num++;
			if(num==n-1)break;
		}
	}
	cout<<n-1<<' '<<ans;
	return 0;
}
2024/7/25 08:41
加载中...