Pagini recente » Cod sursa (job #1969833) | Cod sursa (job #3128955) | Cod sursa (job #2581509) | Cod sursa (job #1491400)
#include <bits/stdc++.h>
using namespace std;
int n, m, x, y, k;
bool a[4000][4000];
int viz[4000];
void dfs(int in) {
viz[in] = k;
for(int i = 1; i <= n; i ++) {
if(a[in][i] && !viz[i]) {
dfs(i);
}
}
}
int main()
{
FILE *f = fopen("dfs.in", "r");
FILE *g = fopen("dfs.out", "w");
fscanf(f, "%d %d", &n, &m);
for(int i = 1; i <= m; i ++) {
fscanf(f, "%d %d", &x, &y);
a[x][y] = true;
a[y][x] = true;
}
for(int i = 1; i <= n; i ++) {
if(!viz[i]) {
k ++;
dfs(i);
}
}
fprintf(g, "%d\n", k);
return 0;
}