Pagini recente » Cod sursa (job #1286039) | Cod sursa (job #1013531) | Cod sursa (job #1272679) | Cod sursa (job #1749544) | Cod sursa (job #1980192)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
vector <int> g[100005];
int viz[100005];
void dfs(int nod)
{
int i;
viz[nod] = 1;
for(i = 0 ; i < g[nod].size() ; i ++)
if(!viz[g[nod][i]])
dfs(g[nod][i]);
}
int main()
{
freopen("dfs.in" , "r" , stdin);
freopen("dfs.out" , "w" , stdout);
int n , m , u , v , i , nr;
scanf("%d%d" , &n , &m);
for(i = 1 ; i <= m ; i ++)
{
scanf("%d%d" , &u , &v);
g[u].push_back(v);
g[v].push_back(u);
}
nr = 0;
for(i = 1 ; i <= n ; i ++)
if(viz[i] == 0)
{
dfs(i);
nr ++;
}
printf("%d\n" , nr);
return 0;
}