Pagini recente » Cod sursa (job #1567827) | Cod sursa (job #658419) | Cod sursa (job #418703) | Cod sursa (job #3181487) | Cod sursa (job #543771)
Cod sursa(job #543771)
#include<fstream>
using namespace std;
#define NM 100001
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,m,viz[NM],s[NM],cc;
struct nod{
int nr;
nod* next;
};
nod* l[NM], * u[NM];
void add(nod* &l,int x){
nod* nn=new(nod);
nn->nr=x;
nn->next=l;
l=nn;
}
void df(int x){
int y;
nod* nc=u[x];
while(nc){
viz[x]=cc;
y=nc->nr;
nc=nc->next;
if(!viz[y])
df(y);
u[x]=nc;
}
}
int main(){
int i,x,y;
in>>n>>m;
for(i=0;i<m;++i){
in>>x>>y;
add(l[x],y);
add(l[y],x);
}
for(i=1;i<=n;++i)
u[i]=l[i];
for(i=1;i<=n;++i)
if(!viz[i]){
cc++;
df(i);
}
out<<cc;
return 0;
}