Pagini recente » Cod sursa (job #1875775) | Cod sursa (job #2698826) | Cod sursa (job #1183509) | Cod sursa (job #2572802) | Cod sursa (job #2544476)
#include <bits/stdc++.h>
#define INfile "dfs.in"
#define OUTfile "dfs.out"
#define LMax 100001
using namespace std;
ifstream fin(INfile);
ofstream fout(OUTfile);
vector<int> v[LMax];
int x, y, n, m;
int nrcmp, verif[LMax];
void dfs(int i)
{
int urm, top = v[i].size();
for (int j = 0; j < top; ++j)
{
urm = v[i][j];
if (verif[urm] == 0)
{
verif[urm] = 1;
dfs(j);
}
}
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= m; ++i)
{
fin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
for (int i = 1; i <= n; ++i)
{
if (verif[i] == 0)
{
dfs(i);
nrcmp++;
}
}
fout << nrcmp;
return 0;
}