Pagini recente » Cod sursa (job #2651452) | Cod sursa (job #3123678) | Cod sursa (job #1600371) | Cod sursa (job #3136839) | Cod sursa (job #2329270)
#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=1; i<=m; i++) {
int x, y;
cin >> x >> y;
add(v[x], y);
add(v[y], x);
}
for(int i=1; i<=n; i++)
if(!viz[i])
k++, dfs(i);
cout << k;
return 0;
}