백준 문제풀이

백준 11724번 - C++

diligent_gideok 2022. 6. 1. 14:40
#include <bits/stdc++.h>
using namespace std;

int n, m;
vector<int> v[1002];
bool vis[1002];
int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int a, b;
	cin >> n >> m;
	for (int i = 0; i < m; i++) {
		cin >> a >> b;
		v[a].push_back(b);
		v[b].push_back(a);
	}

	//BFS
	int num = 0;
	for (int i = 1; i <= n; i++) {
		if (vis[i]) continue;
		num++;
		queue<int> q;
		q.push(i);
		vis[i] = true;
		while (!q.empty()) {
			int cur = q.front();
			q.pop();
			for(auto nxt : v[cur]){
				if (vis[nxt]) continue;
				q.push(nxt);
				vis[nxt] = true;
			}
		}
	}
	cout << num;

}

'백준 문제풀이' 카테고리의 다른 글

백준 11404번 - C++  (0) 2022.06.03
백준 1197번 - C++  (0) 2022.06.02
백준 11279번 - C++  (0) 2022.05.31
백준 2075번 - C++  (0) 2022.05.31
백준 1927번 - C++  (0) 2022.05.31