Pagini recente » Cod sursa (job #1752987) | Cod sursa (job #1993544) | Cod sursa (job #266490) | Cod sursa (job #2640645) | Cod sursa (job #2255708)
#include <fstream>
#include <vector>
#define DIM 100005
using namespace std;
ifstream fin ("dfs.in");
ofstream fout("dfs.out");
vector <int> L[DIM];
int v[DIM], c[DIM], n, cc, i, j, m, t;
void bfs(int start, int componenta) {
int nod, k;
v[start] = componenta;
c[1] = start;
int p = 1, u = 1;
while (p <= u) {
nod = c[p];
for (i=0; i<L[nod].size(); i++) {
k = L[nod][i];
if (v[k] == 0) {
c[++u] = k;
v[k] = componenta;
}
}
p++;
}
}
int main () {
fin >> n >> m;
for (t=1; t<=m; t++) {
fin >> i >> j;
L[i].push_back(j);
L[j].push_back(i);
}
for (i=1; i<=n; i++)
if (v[i] == 0) {
cc++;
bfs(i, cc);
}
fout << cc;
return 0;
}