Pagini recente » Cod sursa (job #3251495) | Cod sursa (job #2627829) | Cod sursa (job #939941) | Cod sursa (job #211209) | Cod sursa (job #3157797)
//ALEXANDRU MICLEA
// #include <vector>
// #include <algorithm>
// #include <string>
// #include <cstring>
// #include <queue>
// #include <map>
// #include <set>
// #include <unordered_set>
// #include <unordered_map>
// #include <time.h>
// #include <iomanip>
// #include <deque>
// #include <math.h>
// #include <cmath>
// #include <assert.h>
// #include <stack>
// #include <bitset>
// #include <random>
// #include <chrono>
// #include <iostream>
// #include <fstream>
// #include <array>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//VARIABLES
int n, m, cc;
vector <int> v[100005];
int visited[100005];
//FUNCTIONS
void dfs(int nod) {
visited[nod] = 1;
for (auto& x : v[nod]){
if (!visited[x]){
dfs(x);
}
}
}
//MAIN
int main() {
#ifdef INFOARENA
ifstream fin("dfs.in"); ofstream fout("dfs.out");
cin.rdbuf(fin.rdbuf()); cout.rdbuf(fout.rdbuf());
#endif
//cout << "Hello world!\n";
cin >> n >> m;
while (m--) {
int a,b;
cin >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
for (int i = 1; i <= n; i++){
if (!visited[i]) cc++, dfs(i);
}
cout << cc << '\n';
return 0;
}