Pagini recente » Cod sursa (job #2492376) | Cod sursa (job #1382785) | Cod sursa (job #2840056) | Monitorul de evaluare | Cod sursa (job #2029864)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
bool vis[200005];
int /*vertex[200005],*/ x, y, m, n;
vector <int> V[200005];
void DFS (int nod)
{
vis[nod] = true;
for (int i = 0; i < V[nod].size(); ++i)
{
int neighbour = V[nod][i];
if (vis[neighbour] == false)
{
DFS(neighbour);
}
}
}
int main()
{
f >> n >> m;
int i, nr = 0;
for (i = 0; i < m; ++i)
{
f >> x >> y;
V[x].push_back(y);
V[y].push_back(x);
}
for (i = 0; i < n; ++i)
{
if(vis[i] == false)
{
++nr;
DFS(i);
}
}
g << nr;
return 0;
}