TTTLE!!!
查看原帖
TTTLE!!!
654763
smallpeople楼主2024/4/9 20:01
#include<bits/stdc++.h>
using namespace std;

struct event
{
	int a,b,c;
}e[100005];
int n,m;
int f[20005],vis[20005];

bool cmp(event a,event b)
{
	return a.c > b.c;
}

int find(int x)
{
    if(f[x]==x) return x;
    return find(f[x]);
}

int main()
{
	scanf("%d%d",&n,&m);
	
	for(int i = 1;i <= n;i ++)
		f[i] = i;
	
	for(int i = 1;i <= m;i ++)
		scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);
		
	sort(e + 1,e + m + 1,cmp);
	
	for(int i = 1;i <= m;i ++)
	{
		int a = e[i].a,b = e[i].b;
		if(find(a) == find(b))
		{
			cout<<e[i].c;
			return 0;
		}
		
		if(!vis[a])vis[a] = b;
		else 
			f[find(vis[a])] = b;
		if(!vis[b])vis[b] = a;
		else 
			f[find(vis[b])] = a;
	}
	cout<<0;
	return 0;
}

T了4个点,求大佬能帮忙优化一下!

2024/4/9 20:01
加载中...