11724번: 연결 요소의 개수 (acmicpc.net)
DFS 이용해서 푸는건데 구현하는거 익숙하지 않음..
디버깅 하면 알겠는데 이걸 내가 구현할 수 있는가,,,
#include <cstdio>
#include <vector>
using namespace std;
vector<int> a[1001];
bool check[1001];
void dfs(int node) {
check[node] = true;
for (int i=0; i<a[node].size(); i++) {
int next = a[node][i];
if (check[next] == false) {
dfs(next);
}
}
}
int main() {
int n, m;
scanf("%d %d",&n,&m);
for (int i=0; i<m; i++) {
int u,v;
scanf("%d %d",&u,&v);
a[u].push_back(v);
a[v].push_back(u);
}
int components = 0;
for (int i=1; i<=n; i++) {
if (check[i] == false) {
dfs(i);
components += 1;
}
}
printf("%d\n",components);
return 0;
}
'Algorithm > C++' 카테고리의 다른 글
[백준 2178] 미로 탐색 (0) | 2022.06.14 |
---|---|
[백준 2667] 단지번호붙이기 (0) | 2022.06.14 |
[백준 11399] ATM (0) | 2022.06.04 |
[백준 1260] DFS와 BFS (0) | 2022.06.04 |
그래프 (0) | 2022.06.03 |
댓글