Pagini recente » Cod sursa (job #3236812) | Cod sursa (job #2894326) | Cod sursa (job #2939151) | Cod sursa (job #2931124) | Cod sursa (job #3208665)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
const int NMAX = 1e5;
vector <int> graph[NMAX + 5];
bool viz[NMAX + 5];
void dfs(int node)
{
viz[node] = 1;
for(auto neigh : graph[node])
if(viz[neigh] == 0)
dfs(neigh);
}
int main()
{
int n, m;
fin >> n >> m;
for(int i = 1; i <= m; i++)
{
int u, v;
fin >> u >> v;
graph[u].push_back(v);
graph[v].push_back(u);
}
int comp_conex = 0;
for(int i = 1; i <= n; i++)
if(viz[i] == 0)
{
comp_conex++;
dfs(i);
}
fout << comp_conex;
fin.close();
fout.close();
return 0;
}