10分(仅#3AC)求调
  • 板块P1111 修复公路
  • 楼主xd2304
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/20 13:29
  • 上次更新2024/8/20 15:48:24
查看原帖
10分(仅#3AC)求调
1284346
xd2304楼主2024/8/20 13:29
#include<bits/stdc++.h>
using namespace std;
int fa[100010];
int find(int x){
	if(x!=fa[x])fa[x]=find(fa[x]);
	return fa[x];
}
int n,m,num=0,ans,x,y,t;
void join(int c1,int c2){
	int f1=find(c1),f2=find(c2);
	if(f1!=f2)fa[f1]=f2;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}
	for(int i=1;i<=m;i++){
		cin>>x>>y>>t;
	}
	for(int i=1;i<=m;i++){
		if(find(x)==find(y)){
			continue;
			fa[x]=y;
			num++;
		}
	}
	if(num!=n-1){
		cout<<"-1"<<endl;
	}else{
		cout<<num<<endl;
	}
	return 0;
} 
2024/8/20 13:29
加载中...