Pagini recente » Cod sursa (job #768403) | Cod sursa (job #648020) | Cod sursa (job #1860374) | Cod sursa (job #1192612) | Cod sursa (job #1700309)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e5+5;
bool f[NMAX];
vector<int> g[NMAX];
void dfs(int u) {
f[u] = 1;
for(int i=0; i<g[u].size(); ++i)
if(!f[g[u][i]])
dfs(g[u][i]);
}
int main(void) {
FILE *fi = fopen("dfs.in","r");
FILE *fo = fopen("dfs.out","w");
int n, m, a, b, ans;
ans = 0;
fscanf(fi,"%d%d",&n,&m);
while(m--) {
fscanf(fi,"%d%d",&a,&b);
g[a].push_back(b);
g[b].push_back(a);
}
for(int i=1; i<=n; ++i) {
if(!f[i]) {
dfs(i);
++ans;
}
}
fprintf(fo,"%d\n",ans);
fclose(fi);
fclose(fo);
return 0;
}