闻灌多
  • 板块灌水区
  • 楼主EVENe
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/11/22 17:04
  • 上次更新2024/11/22 19:35:32
查看原帖
闻灌多
625621
EVENe楼主2024/11/22 17:04

在这里切水题的时候莫名其妙MLE了,让机房大佬帮我看过都表示逆天,有没有好心人帮忙看一看这个是什么原因?

#include<bits/stdc++.h>
using namespace std;
int n,m,k,b,c,ans=0,f[10001];
struct o{
	int a,b,z;
}a[10001];
bool cmp(o iii,o jjj){
	return iii.z<jjj.z;
}
int fi(int x){
	if(x==f[x]) return x;
	f[x]=fi(x);
	return f[x];
}
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++) cin>>a[i].a>>a[i].b>>a[i].z;
	sort(a+1,a+m+1,cmp);
	for(int i=1;i<=n;i++) f[i]=i;
	if(n==k){cout<<ans<<endl;return 0;}
	for(int i=1;i<=m;i++){
		if(fi(a[i].a)!=fi(a[i].b)){
			f[a[i].a]=f[a[i].b],ans+=a[i].z,n--;
			if(n==k){cout<<ans<<endl;return 0;}
		}
	}
	cout<<"No Answer";
	return 0;
}

我的测评结果

原题

2024/11/22 17:04
加载中...