全wa求助,样例能过,悬一关
查看原帖
全wa求助,样例能过,悬一关
947854
ztyo_zysclown楼主2024/4/26 17:07
#include<bits/stdc++.h>
using namespace std;
int a[114514];
struct re{
	int x,y,t;
}b[114514];
bool cmp(re a,re b){
	return a.t<b.t;
}
int find(int x){
	if(a[x]!=x){
		a[x]=find(a[x]);
	}
	return a[x];
}
void add(int x,int y){
	a[find(x)]=find(y);
}
int main(){
	int n,m;
	cin>>n>>m;
	int op1=n;
	for(int i=1;i<=n;i++){
		a[i]=i;
	}
	for(int i=1;i<=m;i++){
		int x,y,t;
		cin>>x>>y>>t;
		b[i].x=x;
		b[i].y=y;
		b[i].t=t;
	}
	int op2;
	sort(b+1,b+m+1,cmp);
	for(int i=1;i<=m;i++){
		if(find(b[i].x)!=find(b[i].y)){
			a[find(b[i].x)]=find(b[i].y);
			n--;
		}
		if(n==1){
			op2=b[i].t;
			break;
		}
	}
	for(int i=1;i<=op1;i++){
	    for(int j=i+1;j<=op1;j++){
	    	if(a[i]==a[j]){
	    		a[j]=0;
	    	}
	    }
	}
	int sum=0;
	for(int i=1;i<=op1;i++){
		if(a[i]!=0){
			sum++;
		}
	}
	cout<<sum<<" "<<op2;
	return 0;
}
2024/4/26 17:07
加载中...