Pagini recente » Cod sursa (job #2772507) | Cod sursa (job #3126105) | Cod sursa (job #106894) | Cod sursa (job #108716) | Cod sursa (job #695140)
Cod sursa(job #695140)
#include<algorithm>
#include<stdio.h>
#define NMAX 100001
using namespace std;
long i, j, n, m, viz[NMAX];
typedef struct nod
{
int x;
nod *a;
} *pNod;
pNod v[NMAX];
void dfs(int node)
{
pNod p;
viz[node] = 1;
for(p = v[node]; p != NULL; p = p->a)
if(viz[p->x] == 0) dfs(p->x);
}
int main()
{
freopen("dfs.in", "rt", stdin);
freopen("dfs.out", "wt", stdout);
scanf("%ld%ld", &n, &m);
pNod p;
long x, y;
for(int i = 1; i <= m; i++) {
scanf("%ld %ld", &x, &y);
p = new nod;
p->x = x; p->a = v[y]; v[y] = p;
p = new nod;
p->x = y; p->a = v[x]; v[x] = p;
}
long cnt = 0;
for(int i = 1; i <= n; i++)
if(viz[i] == 0) {
cnt++; dfs(i);
}
printf("%ld\n", cnt);
return 0;
}