Pagini recente » Cod sursa (job #1164227) | Cod sursa (job #2811970) | Cod sursa (job #1153292) | Cod sursa (job #2346964) | Cod sursa (job #1340194)
#include <iostream>
#include <vector>
#include "stdio.h"
using namespace std;
int n, m, viz[100000], c;
std::vector<vector<int> > listaVecini(100000);
void dfs(int x){
viz[x] = 1;
for (std::vector<int>::iterator itr = listaVecini[x].begin(); itr != listaVecini[x].end();++itr)
if(viz[*itr] == 0) dfs(*itr);
}
int main()
{
/* code */
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d", &n, &m);
for (int i = 1; i <= m; ++i)
{
int t1, t2;
scanf("%d%d",&t1,&t2);
listaVecini[t1].push_back(t2);
listaVecini[t2].push_back(t1);
}
for(int i = 1;i <= n;i++){
if(viz[i] == 0){
c++;
dfs(i);
}
}
printf("%d\n", c);
return 0;
}