Pagini recente » Cod sursa (job #692946) | Cod sursa (job #1774070) | Cod sursa (job #2872289) | Cod sursa (job #1659678) | Cod sursa (job #146684)
Cod sursa(job #146684)
#include <fstream.h>
#define MAX 100005
typedef struct nnod {
int nr;
nnod* urm;
};
nnod* G[MAX];
char viz[MAX];
int N,M, nr_comp;
void add( int a, int b)
{
nnod* aux = new nnod;
aux->nr = b;
aux->urm = G[a];
G[a] = aux;
}
void dfs( int nod)
{
viz[nod] = 1;
nnod* aux = G[nod];
while ( aux != NULL)
{
if (!viz[aux->nr] )
dfs(aux->nr);
aux = aux->urm;
};
}
int main()
{
ifstream fin("dfs.in");
ofstream fout("dfs.out");
fin>>N>>M;
for ( ; M>0; M--)
{
int a,b;
fin>>a>>b;
add(a,b);
add(b,a);
}
for (int i = 1; i<=N; i++)
if ( !viz[i] )
{
nr_comp++;
dfs(i);
};
fout<<nr_comp;
return 0;
}