Pagini recente » Cod sursa (job #1824271) | Cod sursa (job #337624) | Cod sursa (job #1346313) | Cod sursa (job #1884969) | Cod sursa (job #2592541)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
const int kSize = 100000;
int viz[kSize];
vector<vector<int>> g;
void DFS(int nod)
{
viz[nod] = 1;
//cout << q << ' ';
for (int i = 0; i < g[nod].size(); i += 1)
if( !viz[g[nod][i]]){
DFS(g[nod][i]);
}
}
int main()
{
int m, n, comp = 0;
cin >> n >> m;
g = vector<vector<int>> (n);
for(int i = 1; i <= m; i++){
int x, y; cin >> x >> y;
x -= 1; y -= 1;
g[x].push_back(y);
g[y].push_back(x);
}
for(int i = 0; i < n; i++)
if(viz[i] == 0){
DFS(i);
comp++;
}
cout << comp;
return 0;
}