求助全MLE:)
  • 板块学术版
  • 楼主Sam2010
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/6 19:15
  • 上次更新2024/7/6 21:47:25
查看原帖
求助全MLE:)
945044
Sam2010楼主2024/7/6 19:15

题目链接:P1195

评测记录

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
const int NN=1e3+10;
struct node{
	int x,y,z;
}a[N];
int f[NN];
bool cmp(node a,node b){
	return a.z<b.z;
}
int find(int x){
	if(f[x]==x){
		return x;
	}
	else{
		return f[x]==find(f[x]); 
	}
}
int main(){
	int n,m,k,ans=0;
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		int x,y,l;
		cin>>x>>y>>l;
		a[i].x=x;
		a[i].y=y;
		a[i].z=l;
		
	}
	sort(a+1,a+1+m,cmp);
	for(int i=1;i<=n;i++)f[i]=i;
	for(int i=1;i<=m;i++){
		int x=find(a[i].x);
		int y=find(a[i].y);
		if(x==y)continue;
		f[x]=y;
		ans+=a[i].z;
		n--;
		if(n==k){
			cout<<ans;
			return 0;
		}
	}
	if(n!=k)cout<<"No Answer";
	return 0;
}
2024/7/6 19:15
加载中...