Pagini recente » Cod sursa (job #697278) | Cod sursa (job #694402) | Cod sursa (job #3156829) | Cod sursa (job #2903475) | Cod sursa (job #2710387)
#include<iostream>
#include<vector>
#include<fstream>
#define NMAX 100005
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int> graf[NMAX];
int n, m;
void read()
{
f >> n >> m;
for (int i = 1; i <= m; i++)
{
int x, y;
f >> x >> y;
graf[x].push_back(y);
graf[y].push_back(x);
}
}
void dfs(int source, vector<bool>& isUsed)
{
isUsed[source] = true;
for (auto it : graf[source])
if (!isUsed[it])
dfs(it, isUsed);
}
void solve()
{
int nr = 0;
vector<bool> isUsed(n+1, false);
for (int i = 1; i <= n; i++)
if (isUsed[i] == false)
{
dfs(i, isUsed);
nr++;
}
g << nr;
}
int main()
{
read();
solve();
return 0;
}