Pagini recente » Cod sursa (job #3190795) | Cod sursa (job #884409) | Cod sursa (job #2365752) | Cod sursa (job #2914956) | Cod sursa (job #2923977)
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 10000
vector <int> graf[NMAX + 1];
bool viz[NMAX + 1];
void dfs (int node){
viz[node] = 1;
int _size = graf[node].size();
for (int i = 0; i < _size; i++){
if (!viz[graf[node][i]])
dfs (graf[node][i]);
}
}
int main(){
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int n, m, a, b;
fin >> n >> m;
int sol = 0;
for (int i = 0; i < m; i++){
fin >> a >> b;
graf[a].push_back(b);
graf[b].push_back(a);
}
for (int i = 0; i < n; i++){
if (!viz[i]){
sol++;
dfs(i);
}
}
fout << sol;
return 0;
}