Pagini recente » Cod sursa (job #2832854) | Cod sursa (job #515531) | Cod sursa (job #984247) | Cod sursa (job #2229766) | Cod sursa (job #673951)
Cod sursa(job #673951)
#include<fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int viz[100001],n,m,cc;
struct nod {
int info;
nod *next;
};
nod *La[100001];
void adaug_inceput(int x,int y) {
nod *n;
n=new(nod);
n->info=x;
n->next=La[y];
La[y]=n;
n=new(nod);
n->info=y;
n->next=La[x];
La[x]=n;
}
void citire() {
int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++) {
fin>>x>>y;
adaug_inceput(x,y);
}
}
void df(int i) {
viz[i]=cc;
//fout<<i<<" ";
nod *nc=La[i];
while(nc!=NULL) {
int y=nc->info;
if(viz[y]==0) df(y);
nc=nc->next;
}
}
int main() {
citire();
for(int i=1;i<=n;i++)
if(viz[i]==0) {
cc++;
df(i);
//fout<<"\n";
}
fout<<cc;
return 0;
}