728x90
반응형
#include<vector>
#include<iostream>
using namespace std;
vector<int>parent;
int find(int node){
if(parent[node]<0)return node;
return parent[node]=find(parent[node]);
}
bool unions(int x,int y){
int xp=find(x);
int yp=find(y);
if(xp==yp)return false;
if(parent[xp]<parent[yp]){
parent[xp]+=parent[yp];
parent[yp]=xp;
}
else{
parent[yp]+=parent[xp];
parent[xp]=yp;
}
return true;
}
int main()
{
int n,m;
cin>>n>>m;
parent.assign(n,-1);
int a,b;
for(int i=0;i<m;i++){
cin>>a>>b;
if(!unions(a,b)){
cout<<i+1;
return 0;
}
}
cout<<0;
return 0;
return 0;
}
728x90
반응형
'하루 1문제 챌린지 > Gold4' 카테고리의 다른 글
백준 1806번 부분합(C++) (0) | 2024.03.02 |
---|---|
백준 1976번 여행가자(C++)🚩 (1) | 2024.02.28 |