Pagini recente » Cod sursa (job #111300) | Cod sursa (job #920560) | Cod sursa (job #1716255) | Cod sursa (job #507977) | Cod sursa (job #2338537)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fi("dfs.in");
ofstream fo("dfs.out");
int viz[100050];
vector <long int> G[100050];
long int nr,n,m;
void dfs(long int nod)
{
viz[nod]=1;
for(long int i=0;i<G[nod].size();i++)
if(!viz[G[nod][i]])
dfs(G[nod][i]);
}
int main()
{
fi>>n>>m;
for(long int i=0;i<m;i++)
{
long int x,y;
fi>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
for(long int i=1;i<=n;i++)
if(!viz[i])
{nr++;
dfs(i);}
fo<<nr;
return 0;
}