Pagini recente » Cod sursa (job #1792046) | Cod sursa (job #2359095) | Cod sursa (job #238979) | Cod sursa (job #152364) | Cod sursa (job #209976)
Cod sursa(job #209976)
#include<fstream>
using namespace std;
long n,m;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
struct nod {
int info;
nod *urm;
};
typedef struct nod nod;
nod *v[100002];
int viz[100002];
void add(int x,int y) {
nod *q=new nod;
q -> info=x;
q -> urm=v[y];
v[y]=q;
}
void DFS(int x) {
viz[x]=1;
//cout<<v[x]->info;
for(nod *q=v[x];q;q=q->urm)
if(viz[q->info]==0)
DFS(q->info);
}
int parcurgere() {
int x=0;
for(int i=1;i<=n;i++)
if(viz[i]==0){
DFS(i);
x++;
}
return x;
}
void citire() {
int x,y;
fin>>n>>m;
for(int i=0;i<m;i++) {
fin>>x>>y;
add(x,y);
add(y,x);
}
}
int main() {
citire();
fout<<parcurgere()<<"\n";
return 0;
}