Pagini recente » Cod sursa (job #2524770) | Cod sursa (job #2296838) | Cod sursa (job #2208765) | Cod sursa (job #3214760) | Cod sursa (job #2426675)
#include<iostream>
#include<fstream>
#include<list>
using namespace std;
unsigned int n, m;
list<unsigned int> listaAdj[100001];
bool viz[100001];
void citire() {
ifstream in("dfs.in");
in >> n >> m;
for (int i = 0; i < m; i++) {
unsigned int x, y;
in >> x >> y;
listaAdj[x].push_back(y);
listaAdj[y].push_back(x);
}
in.close();
}
void dfs(unsigned int x) {
viz[x] = true;
for (unsigned int i : listaAdj[x])
if (!viz[i])
dfs(i);
}
int main() {
citire();
unsigned int nrCompConexe = 0;
for (unsigned int i = 1; i <= n; i++)
if (!viz[i]) {
++nrCompConexe;
dfs(i);
}
ofstream out("dfs.out");
out << nrCompConexe;
out.close();
return 0;
}