Pagini recente » Cod sursa (job #1451751) | Cod sursa (job #2635759) | Cod sursa (job #1594209) | Cod sursa (job #3142115) | Cod sursa (job #146361)
Cod sursa(job #146361)
#include <cstdio>
#include <cstdlib>
using namespace std;
#define FIN "dfs.in"
#define FOUT "dfs.out"
#define MAX_N 100005
typedef struct nod
{
int d;
nod *a;
} *adrnod;
adrnod T[100005], p;
int N, M, Nc, i;
int V[100005];
void read()
{
int i, x, y;
scanf("%d %d", &N, &M);
for (i = 1; i <= M; i++)
{
scanf("%d %d", &x, &y);
p = new nod; p -> d = x; p -> a = T[y]; T[y] = p;
p = new nod; p -> d = y; p -> a = T[x]; T[x] = p;
}
}
void DFS(int nod)
{
adrnod it;
V[nod] = 1;
for (it = T[nod]; it != NULL; it = it -> a)
if (!V[it -> d]) DFS(it -> d);
}
int main()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
read();
for (i = 1; i <= N; i++)
if (!V[i])
{
Nc++;
DFS(i);
}
printf("%d\n", Nc);
return 0;
}