Pagini recente » Cod sursa (job #49015) | Cod sursa (job #1607240) | Cod sursa (job #19821) | Cod sursa (job #40401) | Cod sursa (job #2569122)
#include <bits/stdc++.h>
using namespace std;
string problema = "dfs";
ifstream f(problema + ".in");
ofstream g(problema + ".out");
#ifdef INFOARENA
#define cin f
#define cout g
#endif
int n, m, i, a, b, nCon;
vector<bool> marcate;
vector<vector<int>> elem;
void dfs(int poz)
{
marcate[poz] = 1;
for(auto &i : elem[poz])
if(!marcate[i])
dfs(i);
}
int main()
{
cin >> n >> m;
marcate.resize(n + 2);
elem.resize(n + 2);
for(i = 1; i <= m; i++)
{
cin >> a >> b;
elem[a].push_back(b);
elem[b].push_back(a);
}
for(i = 1; i <= n; i++)
{
if(!marcate[i])
{
nCon++;
dfs(i);
}
}
cout << nCon;
return 0;
}