Pagini recente » Cod sursa (job #2313291) | Cod sursa (job #2508725) | Cod sursa (job #2999359) | Cod sursa (job #2860348) | Cod sursa (job #2254951)
#include <bits/stdc++.h>
using namespace std;
bool viz[100000];
vector <int> G[100000];
void DFS(int x)
{
viz[x]=1;
for (unsigned i=0; i<G[x].size(); i++)
{
if (!viz[G[x][i]]) DFS(G[x][i]);
}
}
int main()
{
ifstream f("dfs.in");
ofstream g("dfs.out");
int N,M,nrcomp=0;
f>>N>>M;
for (int i=0; i<M; i++)
{
int x,y;
f>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
for (int i=1; i<=N; i++)
{
if (!viz[i])
{
nrcomp++;
DFS(i);
}
}
g<<nrcomp;
return 0;
}