Pagini recente » Cod sursa (job #2294242) | Cod sursa (job #2843805) | Cod sursa (job #2797428) | Cod sursa (job #1343677) | Cod sursa (job #2424716)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int N, M, A, B, nr_componente_conexe;
void DFS(int nod, vector<vector<int> > L, vector<int> &viz)
{
viz[nod] = 1;
for(auto i : L[nod])
{
if(viz[i]==0)
{
DFS(i,L,viz);
}
}
}
int main()
{
f>>N>>M;
vector<vector<int> > L(N+1);
for(int i = 0; i < M; i++)
{
f>>A>>B;
L[A].push_back(B); L[B].push_back(A);
}
f.close();
vector<int> vizitati(N+1,0);
for(int i = 1; i <= N; i++)
{
if(vizitati[i] == 0)
{
nr_componente_conexe++;
DFS(i,L,vizitati);
}
}
g<<nr_componente_conexe;
g.close();
return 0;
}