Pagini recente » Cod sursa (job #2193047) | Cod sursa (job #3189571) | Cod sursa (job #933165) | Cod sursa (job #1387459) | Cod sursa (job #2134368)
#include<bits/stdc++.h>
#define NMAX 100010
using namespace std;
struct nod {
int nr;
nod* next;
};
typedef nod* lista;
lista lda[NMAX];
bool viz[NMAX];
int n,m,rs;
int x,y;
void add(int x, lista &p) {
lista r = new nod({x,p});
p=r;
}
void DFS(int x) {
viz[x]=1;
for (lista p=lda[x]; p; p=p->next) {
if (!viz[p->nr]) {
DFS(p->nr);
}
}
}
int main() {
ifstream cin("dfs.in");
ofstream cout("dfs.out");
cin>>n>>m;
for (int i=1; i<=m; i++) {
cin>>x>>y;
add(x, lda[y]);
add(y, lda[x]);
}
for (int i=1; i<=n; i++) {
if (!viz[i]) DFS(i), rs++;
} cout<<rs;
return 0;
}