Pagini recente » Cod sursa (job #336082) | Cod sursa (job #1246665) | Cod sursa (job #2396337) | Cod sursa (job #2337260) | Cod sursa (job #677539)
Cod sursa(job #677539)
#include<fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,m,viz[1000001];
struct nod{int info;
nod *next;
};
nod *LA[1000001];
void add(int x,int y){
nod*n=new(nod);
n->info=y;
n->next=LA[x];
LA[x]=n;
n=new(nod);
n->info=x;
n->next=LA[y];
LA[y]=n;
}
void citire(){
int i,x,y;
in>>n>>m;
for(i=1;i<=m;i++){
in>>x>>y;
add(x,y);
}
}
void df(int start){
viz[start]=1;
nod*nc=LA[start];
while(nc){
int y=nc->info;
if(!viz[y]) df(y);
nc=nc->next;
}
}
int main(){
citire();
int i,c=0;
for(i=1;i<=n;i++)
if(!viz[i]){
c++;
df(i);
}
out<<c;
return 0;
}