Pagini recente » Cod sursa (job #3165131) | Cod sursa (job #571210) | Cod sursa (job #747910) | Cod sursa (job #1361783) | Cod sursa (job #2423214)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
void DFS(int nod, vector<int> &Viz, vector<vector<int>> &Graf)
{
Viz[nod]=1;
for (auto i:Graf[nod])
if (Viz[i]==0) DFS(i,Viz,Graf);
}
int main()
{
int nod, muchii, nr_comp=0;
f>>nod>>muchii;
vector < vector <int> > Graf(nod+1);
vector <int> Viz(nod+1,0);
for (int i=1;i<=muchii;i++)
{
int x,y;
f>>x>>y;
Graf[x].push_back(y);
Graf[y].push_back(x);
}
for (int i=1;i<=nod;i++)
{
if (Viz[i]==0)
{
nr_comp++;
DFS(i,Viz,Graf);
}
}
g<<nr_comp;
return 0;
}