Pagini recente » Cod sursa (job #2596049) | Cod sursa (job #1125058) | Cod sursa (job #2836735) | Cod sursa (job #2272050) | Cod sursa (job #1528518)
#include <fstream>
#include <vector>
using namespace std;
const int NMAX = 100001;
vector <int> v[NMAX];
int n, i, j, k, l, m;
bool agn[NMAX];
int r = 0;
void dfs(int x);
int main() {
ifstream in("dfs.in");
ofstream out("dfs.out");
in >> n >> m;
while (m--) {
in >> i >> j;
v[i].push_back(j);
v[j].push_back(i);
}
for (i = 1; i <= n; ++i) {
if (!agn[i]) {
r++;
dfs(i);
}
}
in.close();
out << r;
out.close();
return 0;
}
void dfs(int x) {
agn[x] = 1;
for (int q = 0; q < v[x].size(); q++) {
if (!agn[v[x][q]])
dfs(v[x][q]);
}
}