Pagini recente » Cod sursa (job #2625186) | Cod sursa (job #503292) | Cod sursa (job #1231221) | Cod sursa (job #1647444) | Cod sursa (job #2423206)
#include <iostream>
#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, int nr_componente)
{
Viz[nod]=nr_componente;
for (auto i:Graf[nod])
if (Viz[i]==0) DFS(i,Viz,Graf, nr_componente);
}
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, nr_comp);
}
}
g<<nr_comp;
return 0;
}