728x90
반응형
https://www.acmicpc.net/problem/20040
20040번: 사이클 게임
사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한
www.acmicpc.net
#include <iostream>
using namespace std;
int n, m;
int parent[500001];
int getParent(int a){
if(a == parent[a]) return a;
return parent[a] = getParent(parent[a]);
}
void unionParent(int a, int b){
a = getParent(a);
b = getParent(b);
if(a > b) parent[a] = b;
else parent[b] = a;
}
bool findParent(int a, int b){
a = getParent(a);
b = getParent(b);
if(a == b) return true;
else return false;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
for(int i = 1; i <= n; i++)
parent[i] = i;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
if(findParent(a, b)) {
cout << i + 1 << endl;
return 0;
}
unionParent(a, b);
}
cout << 0 << endl;
return 0;
}
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 4386번 별자리 만들기 (C++) (0) | 2022.05.26 |
---|---|
[BOJ] 2468번 안전 영역 (C++) (0) | 2022.05.25 |
[BOJ] 1197번 최소 스패닝 트리 (C++) (0) | 2022.05.23 |
[BOJ] 1717번 집합의 표현 (C++) (0) | 2022.05.23 |
[BOJ] 21940번 가운데에서 만나기 (C++) (0) | 2022.05.22 |