Pagini recente » Cod sursa (job #2063992) | Cod sursa (job #444482) | Cod sursa (job #254508) | Cod sursa (job #1270524) | Cod sursa (job #1755421)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <bitset>
#define dim 100009
#define pb push_back
using namespace std;
ofstream out("dfs.out");
int n;
bitset <dim> uz;
vector < int >G[dim];
void read();
void dfs(int nod);
int main()
{
read();
int nrComp = 0;
for(int i = 1 ; i<=n; ++i)
if(!uz[i])
{
++nrComp;
dfs(i);
}
out << nrComp << '\n';
return 0;
}
void read()
{
ifstream in("dfs.in");
int m;
in >> n >> m;
for(int x,y; m; --m)
{
in >> x >> y;
G[x].pb(y);
G[y].pb(x);
}
}
void dfs(int root)
{
uz[root] = 1;
for(vector <int>:: iterator I = G[root].begin(); I!= G[root].end(); ++I)
if(!uz[*I])
{
dfs(*I);
}
}