玄关,90pts,求调
查看原帖
玄关,90pts,求调
891062
Ericzc楼主2024/10/20 11:54
#include<bits/stdc++.h>
using namespace std;  
struct kkk{int x,y,z;};
int n,m;
kkk a[200010];
int fa[200010];
int b[200010];
bool cmp(kkk aa,kkk bb){return aa.z > bb.z;}
int Find(int aa)
{
	if(fa[aa] == aa) return aa;
	return fa[aa] = Find(fa[aa]);
}
bool check(int aa,int bb)
{
	int aaa = Find(aa),bbb = Find(bb);
	if(aaa == bbb)	return true;
	return false;
}
void add(int aa,int bb)
{
	int aaa = Find(aa),bbb = Find(bb);
	fa[bbb] = aaa;
}
int main() 
{
	cin >> n >> m;
	for(int i = 1;i <= n;i ++) fa[i] = i;
	for(int i = 1;i <= m;i ++)
		cin >> a[i].x >> a[i].y >> a[i].z;
	sort(a + 1,a + m + 1,cmp);
	for(int i = 1;i <= n;i ++)
	{
		cout << '/' << endl;
		if(check(a[i].x,a[i].y))
		{
			cout << a[i].z;
			return 0;
		}
		else
		{
			if(!b[a[i].x]) b[a[i].x] = a[i].y;
			else
			{
				add(b[a[i].x],a[i].y);
			}
			if(!b[a[i].y]) b[a[i].y] = a[i].x;
			else
			{
				add(b[a[i].y],a[i].x);
			}
		}
	}
	return 0;  
}
2024/10/20 11:54
加载中...