반응형
<코드>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
int N, M, u, v, ans;
bool visit[1001];
vector<int> graph[1001];
queue<int> q;
void BFS(int x)
{
q.push(x);
visit[x] = true;
while (!q.empty())
{
int now = q.front();
q.pop();
for (int next : graph[now])
{
if (!visit[next])
{
visit[next] = true;
q.push(next);
}
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
for (int i = 0; i < M; i++)
{
cin >> u >> v;
graph[u].push_back(v);
graph[v].push_back(u);
}
for (int i = 1; i <= N; i++)
{
if (!visit[i])
{
ans++;
BFS(i);
}
}
cout << ans << '\n';
}
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 11727번 - 2×n 타일링 2 (DP) (0) | 2021.03.22 |
---|---|
[C/C++] 백준 1069번 - 집으로 (0) | 2021.03.22 |
[C/C++] 백준 2482번 - 색상환 (0) | 2021.03.22 |
[C/C++] 백준 11758번 - CCW (0) | 2021.03.22 |
[C/C++] 백준 7869번 - 두 원 (0) | 2021.03.22 |