Pagini recente » Cod sursa (job #2923625) | Cod sursa (job #1531990) | Cod sursa (job #1370848) | Cod sursa (job #2479720) | Cod sursa (job #1171123)
#include<fstream>
#include<vector>
#include <iostream>
using namespace std;
int viz[100000], componenta, n, m;
vector<int> adj[100000];
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void dfs(int start) {
cout<<start<<endl;
for(vector<int>::iterator it = adj[start].begin(); it != adj[start].end(); ++it) {
if(viz[*it] == 0) {
viz[*it] = 1;
dfs(*it);
}
}
}
int main() {
int i, u, v;
fin >> n >> m;
for(i = 0; i < m; i++) {
fin >> u >> v;
u--, v--;
adj[u].push_back(v);
adj[v].push_back(u);
}
for(i = 0; i < n; i++) {
if(viz[i] == 0) {
viz[i] = 1;
componenta++;
dfs(i);
}
}
fout << componenta;
return 0;
}