Pagini recente » Cod sursa (job #2854036) | Cod sursa (job #902751) | Cod sursa (job #1012446) | Cod sursa (job #1114800) | Cod sursa (job #2329268)
#include <fstream>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
typedef struct nod {
int x;
nod *a;
} *pNod;
pNod v[100010];
int n, m, k;
bool viz[100010];
void add(pNod &l, int val) {
pNod p = new nod;
p->x = val;
p->a = l;
l = p;
}
void dfs(int nod) {
viz[nod] = 1;
for(pNod i=v[nod]; v!=NULL; i=i->a)
if(!viz[i->x])
dfs(i->x);
}
int main() {
cin >> n >> m;
for(int i=0; i<m; i++) {
int x, y;
cin >> x >> y;
add(v[x], y);
add(v[y], x);
}
for(int i=0; i<n; i++)
if(!viz[i])
k++, dfs(i);
return 0;
}