Pagini recente » Cod sursa (job #3218457) | Cod sursa (job #1814590) | Cod sursa (job #2444623) | Cod sursa (job #37214) | Cod sursa (job #695855)
Cod sursa(job #695855)
#include <algorithm>
using namespace std ;
struct nod{
int info ;
nod *urm ;
} ;
nod *v[100001] ;
int viz[100001] ;
void adauga(int ur , int inf) {
nod *p=new nod;
p->info = inf ;
p->urm=v[ur] ;
v[ur]=p ;
}
void df(int poz) {
viz[poz]=1;
nod *q=v[poz] ;
while(q!=NULL) {
if(viz[q->info]==0) {
viz[q->info]=10;
df(q->info);
}
q=q->urm;
}
}
int main() {
freopen ("dfs.in","r",stdin) ;
freopen ("dfs.out","w",stdout) ;
int n , m ;
scanf ("%d%d" , &n , &m) ;
int x , y ;
for (int i=1 ; i<=m ; ++i) {
scanf("%d%d",&x,&y);
adauga(x,y);
adauga(y,x);
}
int rez=0 ;
for(int i=1;i<=n;++i) {
if (viz[i]==0) {
++rez ;
df(i) ;
}
}
printf ("%d" , rez) ;
return 0 ;
}