Pagini recente » Cod sursa (job #93413) | Cod sursa (job #447891) | Cod sursa (job #254725) | Cod sursa (job #1958335) | Cod sursa (job #650620)
Cod sursa(job #650620)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
typedef struct nod* lst; struct nod {int nd; lst next;};
vector<int>vecini[100005];
int viz[100005];
int m,n;
void df(int nod){
int nr;
viz[nod]=1;
for(int i=0;i<vecini[nod].size();i++)
{ nr=vecini[nod][i];
if(viz[nr]==0) df(nr);
}
}
void citire(){
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&n,&m);
int a,b;
for(int i=1;i<=m;i++){
scanf("%d%d",&a,&b);
vecini[a].push_back(b);
vecini[b].push_back(a);
}
}
int main(){
int nr=0;
citire();
int i;
for(i=1;i<=n;i++)
if(viz[i]==0) nr++,df(i);
printf("%d\n",nr);
return 0;
}