Pagini recente » netrezimsinoi | Cod sursa (job #746476) | Cod sursa (job #1709731) | Cod sursa (job #236009) | Cod sursa (job #2146145)
#include <fstream>
#include <vector>
using namespace std;
ifstream in ("dfs.in");
ofstream out ("dfs.out");
const int N = 100005;
vector <int> g[N];
int n, m, ncomp;
bool viz[N];
void dfs(int x)
{
for(int i = 0; i < g[x].size(); i++)
{
if(viz[g[x][i]] == false)
{
viz[g[x][i]] = true;
dfs(g[x][i]);
}
}
}
int main()
{
in >> n >> m;
int i, a, b;
for(i = 1; i <= m; i++)
{
in >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
for(i = 1; i <= n; i++)
if(viz[i] == false)
{
dfs(i);
ncomp++;
}
out << ncomp;
return 0;
}