Pagini recente » Cod sursa (job #2054778) | Cod sursa (job #512737) | Cod sursa (job #89030) | Cod sursa (job #548577) | Cod sursa (job #301495)
Cod sursa(job #301495)
#include <fstream.h>
#define max 1012
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, sel[max], x, y, count = 0;
typedef struct nod
{
int info;
nod *urm;
} * pnod;
pnod v[max];
void add(pnod &dest, int val)
{
pnod p;
p = new nod;
p->info = val;
p->urm = dest;
dest = p;
}
void read()
{
f>>n>>m;
int x, y, i;
for(i = 1 ; i <= m ; i++)
{
f>>x>>y;
add(v[x], y);
add(v[y], x);
}
}
void dfs(int nd)
{
pnod p;
sel[nd] = 1;
for(p = v[nd] ; p != NULL ; p = p->urm)
if(!sel[p->info])
dfs(p->info);
}
int main()
{
read();
for(int i = 1 ; i <= n ; i++)
if(!sel[i])
{
count++;
dfs(i);
}
g<<count;
f.close();
g.close();
return 0;
}