Pagini recente » Borderou de evaluare (job #1558873) | Borderou de evaluare (job #1796361) | Borderou de evaluare (job #2736432) | Cod sursa (job #457657) | Cod sursa (job #2225366)
#include <stdio.h>
#include <vector>
using namespace std;
const int NMAX = 100005;
vector<int> matrice [NMAX];
int viz[NMAX] = {0};
int n,m,ct;
void DFS(int a)
{
int i;
viz[a]=1;
for(i=0;i< matrice[a].size();++i)
{
if(viz[matrice[a][i]] == 0){
DFS(matrice[a][i]);
}
}
}
int main()
{
int i,x,y;
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d\n",&n, &m);
for(i = 0;i < m; ++i)
{
scanf("%d%d\n",&x,&y);
matrice[x].push_back(y);
matrice[y].push_back(x);
}
for(i=1;i<= n; ++i)
{
if(!viz[i])
{
ct++;
DFS(i);
}
}
printf("%d\n", ct);
return 0;
}