蒟蒻求助为啥MLE
查看原帖
蒟蒻求助为啥MLE
879339
Dio_The_World楼主2023/9/28 21:35
#include <bits/stdc++.h>
#define For(i,s,e) for(int i=s;i<=e;i++)
#define dFor(i,s,e) for(int i=s;i>=e;i--)
#define ll long long 
using namespace std;
struct road{
	int x,y,t;
}a[114514];
int work(int n){
	cin>>n;
	return n;
}
int ft[1145],gs[1145];
int n=work(n),m=work(m);
int cmp(road x,road y){
	return x.t<y.t;
}
int fa(int e){
	if(ft[ft[e]]==ft[e])return ft[e];
	gs[ft[e]]=1;
	return ft[e]=fa(e);
}
int main(){
	For(i,1,n)ft[i]=i,gs[i]=1;
	For(i,1,m){scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].t);}
	sort(a+1,a+m+1,cmp);
	For(i,1,m){
//		cout<<endl;
//		For(j,1,n)cout<<ft[j]<<" ";
//		cout<<endl;
//		For(j,1,n)cout<<gs[j]<<" ";
//		cout<<endl;
		if(fa(a[i].x)==fa(a[i].y))continue;
		gs[fa(a[i].y)]+=gs[fa(a[i].x)];
		ft[fa(a[i].x)]=fa(a[i].y);
		if(gs[fa(a[i].y)]==n){
			cout<<a[i].t;
			return 0;
		}
	}
	cout<<-1;
	return 0;
}

除了第一个点AC,其他全MLE,请问哪位巨佬帮忙找一下,谢谢

2023/9/28 21:35
加载中...