Pagini recente » Cod sursa (job #1522343) | Cod sursa (job #771527) | Cod sursa (job #1113420) | Cod sursa (job #1729384) | Cod sursa (job #1166340)
#include <fstream>
#include <vector>
#define Nmax 100009
#define pb push_back
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int N,M,sol,x,y,comp[Nmax];
vector < int > G[Nmax];
inline void DFS(int node)
{
comp[node]=sol;
for(vector < int > :: iterator it=G[node].begin();it!=G[node].end();++it)
if(!comp[*it])DFS(*it);
}
int main()
{
f>>N>>M;
for (int i=1; i<=M; ++i)
f>>x>>y , G[x].pb(y) , G[y].pb(x);
for (int i=1; i<=N; ++i)
if (!comp[i])
++sol , DFS(i);
g<<sol<<'\n';
f.close(); g.close();
return 0;
}