Pagini recente » Cod sursa (job #222234) | Cod sursa (job #1655956) | Cod sursa (job #2121283) | Cod sursa (job #2830608) | Cod sursa (job #1197803)
#include <stdio.h>
#include <vector>
using namespace std;
vector<int> noduri[100005]; int n,m; bool v[100005];
void dfs(int nod){
v[nod]=1;
for (int i=0; i<noduri[nod].size(); i++)
if (v[noduri[nod][i]]==0) dfs(noduri[nod][i]);
}
int main(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n,&m);
int x,y,nr=0,i;
for (i=0; i<m; i++)
{
scanf("%d %d",&x,&y);
noduri[x].push_back(y);
noduri[y].push_back(x);
}
for (i=1;i<=n; i++)
if (v[i]==0){nr++; dfs(i);}
printf("%d",nr);
}