#include<iostream>
#include<cstring>
using namespace std;
int n,m,X,Y,x[100010],y[100010],fa[100010],t,T=0,cnt=1;
int find(int x)
{
if(fa[x]!=x) x=find(fa[x]);
return fa[x];
}
void mergeSet(int x,int y)
{
int xx=find(x);
int yy=find(y);
if(xx==yy) return;
if(xx>yy) swap(xx,yy);
fa[yy]=xx;
cout<<fa[yy];
}
int main()
{
cin>>n>>m;
memset(fa,0,sizeof(fa));
for(register int i=1;i<=m;i++)
{
cin>>X>>Y>>t;
x[t]=X;
y[t]=Y;
T=max(t,T);
}
for(register int i=1;i<=T;i++)
{
if(fa[x[i]]==0)fa[x[i]]=x[i];
if(fa[y[i]]==0)fa[y[i]]=y[i];
mergeSet(x[i],y[i]);
cout<<"fa[cnt]:"<<fa[cnt]<<endl<<endl;
while(find(fa[cnt])==1)
{
cout<<"cnt:"<<cnt<<endl<<endl;
cnt++;
if(cnt==n)
{
cout<<i;
return 0;
}
}
}
cout<<-1;
return 0;
}
就过一个节点,样例能过
剩下全部WA
悲