반응형
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
char arr[100] = { 0 };
char find_boss(char ch) {
if (arr[ch] == 0) return ch;
char ret = find_boss(arr[ch]);
return ret;
}
void setUnion(char a, char b){
char apar = find_boss(a);
char bpar = find_boss(b);
if (apar == bpar) return;
arr[bpar] = apar;
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n;i++) {
char a, b;
cin >> a >> b;
if (find_boss(a) == find_boss(b)) {
cout << "발견";
return 0;
}
setUnion(a, b);
}
cout << "미발견";
}
입력 예제
4 A C A B B D C B
출력 결과
발견
find_boss가 setUnion뒤에 있으면 setUnion할 때 findboss가 작동안함 앞에다 두어야...
반응형
'C언어 > 문제풀다 하나씩' 카테고리의 다른 글
이중배열에서 binary search 해보기 (0) | 2020.05.23 |
---|---|
binary search 구현2 서재에서 책 찾기 (0) | 2020.05.23 |
binary search 구현 (0) | 2020.05.23 |
Binary Search Tree 구현해보기 search함수 (0) | 2020.05.22 |
배열 회전시키기 (0) | 2020.05.22 |
오랜만에 direct배열 써보기 (0) | 2020.05.22 |
?B?? 같이 문자열 내 문자 같은지 확인 (0) | 2020.05.22 |
문자열 내 빈도수 이용해서 문제풀기 (0) | 2020.05.21 |