Pagini recente » Cod sursa (job #825575) | Cod sursa (job #1269690) | Cod sursa (job #1832025) | Cod sursa (job #2139870) | Cod sursa (job #2963663)
#include <iostream>
#include <fstream>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
vector < int > v[100005];
int viz[100005] , x , y , n , m , cnt;
void dfs (int nod)
{
viz[nod] = 1;
for (int i = 0 ; i < v[nod].size () ; i++)
{
if (viz[v[nod][i]] == 0)
dfs (v[nod][i]);
}
}
int main()
{
f >> n >> m;
for (int i = 1 ; i <= m ; i++)
{
f >> x >> y;
v[x].push_back (y);
v[y].push_back (x);
}
for (int i = 1 ; i <= n ; i++)
{
if (viz[i] == 0)
{
cnt++;
dfs (i);
}
}
g << cnt;
return 0;
}